python正規表示式re

2021-09-27 13:30:39 字數 2446 閱讀 3164

說明:本文是按照唐松的爬蟲書進行學習的,部落格寫**還要寫原鏈結,還要匯出書的參考文獻格式,故寫了原創,罪過。 

print('匹配結果:',m)

print('匹配的起點和終點:',m.span())

print('匹配的起始位置:',m.start())

print('匹配的終點位置:',m.end())

print('匹配的整句話:',m.group(0))

print('匹配的第乙個結果:',m.group(1))

print('匹配的第二個結果:',m.group(2))

print('匹配的結果列表:',m.group())

(.*)匹配了fat cat,而(.*?)只匹配了smarter,因為正規表示式匹配中預設的貪婪模式以及非貪婪模式,(.*)會匹配盡可能多的字元,(.*?)盡可能少地匹配字元

r'(.*) are (.*?) '中的'r'的意思是raw string,代表純粹的字串,不會對反斜槓'\'進行特殊處理

print(m.group(1))#結果為2

n=re.match(r'(\d+)\\',string)

print(n.group(1))#結果為2

正規表示式字串需要經過2次轉義。分別是「字串轉義」和「正則轉義」

例子中,需要匹配r'2\7'裡的字元'\',那麼正規表示式就需要4個反斜槓'\\\\',前2個和後2個各自轉義成乙個反斜槓'\',4個'\\\\'轉義成'\\',最終在正規表示式中轉義成'\'

如果使用r'...'方法的話,就不用進行字串轉義了,直接進入第二步「正則轉義」

re.match只能從字串的第乙個位置進行匹配,而re.search掃瞄整個字串並返回第乙個成功的匹配。

findall可以找到所有的匹配:

-------------------------2020.1.5晚補充

匹配電子郵箱

python 正規表示式 re

match 和 search 的區別 match是從字串開頭匹配,而search是在整個字串中匹配。如 p re.compile a z p.match message none 因為開頭是 因此無法匹配 而 m p.search message print m re.matchobject ins...

python正規表示式 re

re.match 嘗試從字串的開始匹配乙個模式,如 下面的例子匹配第乙個單詞。import retext jgood is a handsome boy,he is cool,clever,and so on.m re.match r w s text ifm print m.group 0 n m...

python正規表示式(re)

在python中re模組用於對正規表示式 regular expression 的支援。正規表示式是可以匹配文字片段的模式。一 正規表示式的書寫 1 萬用字元 點 可以匹配任何字元 除了換行符 如 ike 可以匹配 bike like 等 2 對特殊字元進行轉義 在正規表示式中如果是引用特殊字元作為...