1、match(): 預設匹配開頭, 滿足匹配就返回, 如果要匹配結尾需要手動加上 $ 符號;
2、search(): 不匹配開頭,而是從開頭往後進行搜尋,只要匹配到了(乙個)滿足條件的資料就返回,之後的就不再管了;
3、findall(): 不匹配開頭,而是從開頭往後進行搜尋, 匹配到所有滿足條件的資料,返回乙個列表,不能使用group();
#注意「,」不能使用中文哦!
print(result.group(1))
print(result.group(2))
print(result.group(3))
#使用search()只能查詢到1個,就返回,之後的資料不管。
案例3:使用findall()查詢所有的資料匹配,返回是列表,如果沒有,則返回空列表。
result = re.findall(r'\d+',str_)
#如果匹配不成功時,那麼就返回空列表
#result = re.findall(r'[a-z]+',str_)
print(result)
案例4:爬蟲提取 : 使用findall 與 分組 進行資料提取
str_='''位置:f-g(23號)
身高:2.06公尺/6尺9
體重:113公斤/250磅
生日:1984-12-30
球隊:洛杉磯湖人
選秀:2023年第1輪第1順位
國籍:美國
'''result =re.findall(r'',str_)
print(result)
說明:1.把想要提取的部分用括號括起來, .*? 非貪婪 (.*?) > 代表的是想要被提前的資料
2. 想要提取的部分前面的資料是, 後面的資料是
import re
#只提取第乙個a後面的mike,第二個a不需要。
# .* (1) 正規表示式預設的是貪婪的: 能取多少就取多少
# result = re.match(r'<.>\w+',str_)
# .*? (2) 非貪婪的: 能少取盡量少取
result = re.match(r'<.>\w+',str_)
print(result.group())
#起到轉義效果
str_='c:\\pic\\demo\\one'
print(str_)
#r就是原生的效果,不起轉義哦!
str_=r'c:\\pic\\demo\\one'
print(str_)
補充:sub()替換 和split()切割的使用
'''
sub(正規表示式,替換值,原字串) >替換 如:str.replace()
先正則定位,再替換資料哦!
'''# result = re.sub(r'\d+','123569',str_)
# print(result)
''' split(正規表示式,原字串) >切割 如:str.split()
'''# str_='peanut>butter,pervent,tattoo>accident>perspective'
# result=re.split(r',|>',str_)
# print(result)
Puppet正規表示式 十七
puppet支援標準的ruby正規表示式.正規表示式的引數匹配項 用於描述範圍 如 a z 表示範圍a z之間.用於包含正規表示式.w 用於描述字母或數字,相當於 0 9a za z w 非字母或數字.s 匹配 t n r f 其中 t 為製表符 r 為回車符 n 為換行符 f 為換頁符,s表示匹配...
python正規表示式元字元 正規表示式
字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...
Python 正規表示式
1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...