python 正規表示式深入(十七)

2021-10-20 20:55:46 字數 2231 閱讀 7506

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函式對字串...