python模組之re模組和正規表示式

2022-08-29 05:51:12 字數 3145 閱讀 9620

#

正常匹配

s = "

zhangsan lisi wanger mazi

"ret = re.findall('

an', s,) #

返回匹配的內容

print(ret) #

列表 :['an', 'an', 'an']

#flags

s = "

zhangsan lisi wanger mazi

"ret = re.findall('an'

, s, re.i)

print(ret) #

['an', 'an', 'an']

#

findall優先順序:

['oldboy'] 這是因為findall會優先把匹配結果組裡內容返回,如果想要匹配結果,取消許可權即可

返回值,<_sre.sre_match object; span=(0, 2), match='zh'>

print

(ret.group())

s = "

zhangsan lisi wanger mazi

"ret = re.match('an'

, s)

print(ret) #

none

print(ret.group()) #

報錯

#

subn

s = "

zhangsan lisi wanger mazi

"ret = re.subn('

a', '

a', s, 1) #

1- count 指定替換次數

print(ret) #

('zhangsan lisi wanger mazi', 2)

s = "

zhangsan lisi wanger mazi

"def

demo():

return'a

'ret = re.subn('

a', demo(), s) #

repl 可以用函式返回值

print(ret) #

('zhangsan lisi wanger mazi', 2)

#sub

s = "

zhangsan lisi wanger mazi

"def

demo():

return'an

'print(re.sub('

an', demo(), s, 1)) #

zhangsan lisi wanger mazi

obj = re.compile('

\d') #

將正規表示式編譯成為乙個 正規表示式物件,規則要匹配的是3個數字

ret = obj.search('

abc123eeee

') #

正規表示式物件呼叫search,引數為待匹配的字串

print(ret.group()) #

結果 : 123

s = "

zhangsan lisi wanger mazi

"ret = re.finditer('an'

, s)

print(ret) #

#print(next(ret)) # <_sre.sre_match object; span=(2, 4), match='an'>

print(next(ret).group()) #

an next後 .group()

for itr in

ret:

print(itr.group()) #

an an

s = "

zhangsan lisi wanger mazi

"print(re.search('

an', s).group()) #

an

s = "

zhangsan|lisi|wanger|mazi

"ret = re.split(r'\|'

, s)

print(ret) #

['zhangsan', 'lisi', 'wanger', 'mazi']

ret = re.split(r'

\|', s, 1) #

maxsplit=1,指定分割次數

print(ret) #

['zhangsan', 'lisi|wanger|mazi']

#

re.split()優先順序:

s = "

zhangsan|lisi|wanger|mazi

"ret1 = re.split(r'\|'

, s)

print(ret1) #

['zhangsan', 'lisi', 'wanger', 'mazi'] 沒有保留用來分割的匹配項。

ret2 = re.split(r'

(\|)

', s)

print(ret2) #

['zhangsan', '|', 'lisi', '|', 'wanger', '|', 'mazi']

#匹配規則加括號,可以保留用來分割的匹配項。

量詞

貪婪匹配,非貪婪匹配

.*? 的用法

:

python模組 之 re模組

功能 實現python對正規表示式對支援與應用,將想要得到對內容按照正規表示式匹配出來 應用場景 爬蟲指令碼 對使用者輸入內容進行合規檢查 如qq格式檢查 等 功能 匹配物件中所有符合正規表示式的內容,並取出來 返回值 列表,所匹配到對項都會返回到列表中 import re content 1362...

python內建模組之re模組

在python要想使用正則必須借助於模組,re就是其中之一 查詢字串中所有匹配到的字元,並返回乙個列表,沒有匹配資料則返回乙個空列表 import re re.findall 正規表示式 帶匹配的文字 根據正則匹配除所有符合條件的資料 res re.findall b eva jason jacks...

python模組 re模組

匹配任意字元 匹配指定字元類別 字元開頭 字元結尾 取非字元 重複多次字元 0次或多次 重複多次字元 1次或多次 重複單次字元 左右表示式任意匹配 重複m到n次字元 重複m次字元 d 匹配任何十進位制數,相當於 0 9 d 匹配任何非數字字元,相當於 0 9 s 匹配任何空白字元,相當於 fdss ...