#正常匹配
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'>
(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 ...