欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python re.match函數(shù)的具體使用

 更新時(shí)間:2023年02月13日 10:36:05   作者:胡小牧  
本文主要介紹了python re.match函數(shù)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1 re.match 說(shuō)明

re.match()  從開(kāi)始位置開(kāi)始往后查找,返回第一個(gè)符合規(guī)則的對(duì)象,如果開(kāi)始位置不符合匹配隊(duì)形則返回None

從源碼里面看下match 里面的內(nèi)容

里面有3個(gè)參數(shù) pattern ,string ,flags 

pattern : 是匹配的規(guī)則內(nèi)容

string : 要匹配的字符串

flag : 標(biāo)志位(這個(gè)是可選的,可寫(xiě),可不寫(xiě)),用于控制正則表達(dá)式的匹配方式,如:是否區(qū)分大小寫(xiě),多行匹配等等

下面寫(xiě)一個(gè)demo

str_content = "Python is a good language"  # 要匹配的內(nèi)容, 對(duì)應(yīng)match 里面的string
str_pattern = "Python"  # pattern 匹配的規(guī)則
re_content = re.match("Python", str_content)
print(re_content)

打印的結(jié)果如下

可以看到匹配的的下標(biāo)是(0,6) 匹配的內(nèi)容是Python

2 span 的使用

如果想獲取匹配的下標(biāo),可以使用span ,

match span 的作用就是返回匹配到內(nèi)容的下標(biāo)

使用方式如下

import re  # 導(dǎo)入re 模塊
 
str_content = "Python is a good language"  # 要匹配的內(nèi)容, 對(duì)應(yīng)match 里面的string
str_pattern = "Python"  # pattern 匹配的規(guī)則
re_content = re.match("Python", str_content).span()
print(re_content)

打印結(jié)果如下

3 group 的使用

如果想獲取匹配到結(jié)果的內(nèi)容可以使用group ,注意使用group的時(shí)候就不要在使用span 了

import re  # 導(dǎo)入re 模塊
 
str_content = "Python is a good language"  # 要匹配的內(nèi)容, 對(duì)應(yīng)match 里面的string
str_pattern = "Python"  # pattern 匹配的規(guī)則
re_content = re.match("Python", str_content)
print(re_content.group())

打印結(jié)果如下

4 匹配不到內(nèi)容的情況

如下面的返回結(jié)果為None

import re  # 導(dǎo)入re 模塊
 
str_content = "Python is a good language"  # 要匹配的內(nèi)容, 對(duì)應(yīng)match 里面的string
str_pattern = "Python"  # pattern 匹配的規(guī)則
re_content = re.match("python", str_content)
print(re_content)
# 或者
 
str_content = "Python is a good language"  # 要匹配的內(nèi)容, 對(duì)應(yīng)match 里面的string
str_pattern = "Python"  # pattern 匹配的規(guī)則
re_content = re.match("is", str_content)
print(re_content)

5 使用group 注意點(diǎn)

注意當(dāng)匹配不到內(nèi)容的時(shí)候就使用group 或者span 的時(shí)候會(huì)報(bào)錯(cuò),所以當(dāng)使用group 的時(shí)候 先判斷下是否匹配到內(nèi)容然后在使用它

例如匹配不到內(nèi)容的情況下使用group

import re  # 導(dǎo)入re 模塊
 
str_content = "Python is a good language"  # 要匹配的內(nèi)容, 對(duì)應(yīng)match 里面的string
str_pattern = "Python"  # patterPn 匹配的規(guī)則
re_content = re.match("python", str_content)
print(re_content.group())

這樣會(huì)報(bào)錯(cuò),報(bào)錯(cuò)內(nèi)容如下

添加是否匹配判斷

import re  # 導(dǎo)入re 模塊
 
str_content = "Python is a good language"  # 要匹配的內(nèi)容, 對(duì)應(yīng)match 里面的string
str_pattern = "Python"  # patterPn 匹配的規(guī)則
re_content = re.match("python", str_content)
if re_content:
    print(re_content.group())
else:
    print("沒(méi)有匹配到內(nèi)容")

打印結(jié)果如下

這樣會(huì)走到else 里面就不會(huì)報(bào)錯(cuò)了

6 flag 的使用

寫(xiě)一個(gè)忽略大小寫(xiě)的情況

import re  # 導(dǎo)入re 模塊
 
str_content = "Python is a good language"  # 要匹配的內(nèi)容, 對(duì)應(yīng)match 里面的string
str_pattern = "Python"  # patterPn 匹配的規(guī)則
re_content = re.match("python", str_content, re.I)
if re_content:
    print(re_content.group())
else:
    print("沒(méi)有匹配到內(nèi)容")

打印結(jié)果如下:

flags : 可選,表示匹配模式,比如忽略大小寫(xiě),多行模式等,具體參數(shù)為:

  • re.I 忽略大小寫(xiě)
  • re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依賴于當(dāng)前環(huán)境
  • re.M 多行模式
  • re.S 即為 . 并且包括換行符在內(nèi)的任意字符(. 不包括換行符)
  • re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依賴于 Unicode 字符屬性數(shù)據(jù)庫(kù)
  • re.X 為了增加可讀性,忽略空格和 # 后面的注釋

到此這篇關(guān)于python re.match函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)python re.match內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python標(biāo)記語(yǔ)句塊使用方法總結(jié)

    python標(biāo)記語(yǔ)句塊使用方法總結(jié)

    在本篇文章里小編給大家整理了關(guān)于python標(biāo)記語(yǔ)句塊使用方法以及相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。
    2019-08-08
  • Python程序員開(kāi)發(fā)中常犯的10個(gè)錯(cuò)誤

    Python程序員開(kāi)發(fā)中常犯的10個(gè)錯(cuò)誤

    這篇文章主要介紹了Python程序員開(kāi)發(fā)中常犯的10個(gè)錯(cuò)誤,不知道你有沒(méi)有中槍呢,需要的朋友可以參考下
    2014-07-07
  • 利用Python計(jì)算質(zhì)數(shù)與完全數(shù)的方法實(shí)例

    利用Python計(jì)算質(zhì)數(shù)與完全數(shù)的方法實(shí)例

    這篇文章主要介紹了利用Python計(jì)算質(zhì)數(shù)與完全數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 總結(jié)Python函數(shù)參數(shù)的六種類型

    總結(jié)Python函數(shù)參數(shù)的六種類型

    這篇文章主要總結(jié)了Python函數(shù)參數(shù)的六種類型,傳遞參數(shù)實(shí)現(xiàn)不同場(chǎng)景的靈活使用,下面總結(jié)的六種函數(shù)參數(shù)類型,需要的小伙伴可以參考一下
    2022-03-03
  • Python編程利用科赫曲線實(shí)現(xiàn)三維飄雪效果示例過(guò)程

    Python編程利用科赫曲線實(shí)現(xiàn)三維飄雪效果示例過(guò)程

    這篇文章主要介紹了Python編程實(shí)現(xiàn)三維飄雪效果示例過(guò)程,通過(guò)本示例你可以自己做出一個(gè)浪漫的雪花飄落效果,有需要的朋友可以借鑒參考下
    2021-10-10
  • 利用Anaconda安裝TensorFlow全過(guò)程

    利用Anaconda安裝TensorFlow全過(guò)程

    這篇文章主要介紹了利用Anaconda安裝TensorFlow全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python簡(jiǎn)單的制作圖片驗(yàn)證碼實(shí)例

    Python簡(jiǎn)單的制作圖片驗(yàn)證碼實(shí)例

    本篇文章主要介紹了Python簡(jiǎn)單的制作圖片驗(yàn)證碼實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • django rest framework serializer返回時(shí)間自動(dòng)格式化方法

    django rest framework serializer返回時(shí)間自動(dòng)格式化方法

    這篇文章主要介紹了django rest framework serializer返回時(shí)間自動(dòng)格式化方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python+Opencv實(shí)現(xiàn)圖像模板匹配詳解

    Python+Opencv實(shí)現(xiàn)圖像模板匹配詳解

    模板匹配可以看作是對(duì)象檢測(cè)的一種非常基本的形式。使用模板匹配,我們可以使用包含要檢測(cè)對(duì)象的“模板”來(lái)檢測(cè)輸入圖像中的對(duì)象。本文為大家介紹了圖像模板匹配的實(shí)現(xiàn)方法,需要的可以參考一下
    2022-09-09
  • python-docx文檔格式修改方式

    python-docx文檔格式修改方式

    使用python-docx庫(kù)修改docx文檔格式的兩種方法:第一種是通過(guò)自定義函數(shù)設(shè)置段落和字體樣式,第二種是預(yù)設(shè)Word中的樣式后通過(guò)代碼替換文檔整體樣式。這兩種方式各有優(yōu)缺點(diǎn),第一種方法更靈活,而第二種方法可以更全面地保留格式細(xì)節(jié)
    2024-09-09

最新評(píng)論