之前學正則時寫的小筆記,今天想起來發一發
常用符號:
補充:\d+:用於匹配字符串中的純數字
————————————————————
1. 關於星號的詳解:進入
(這是自己遇到的坑,感覺個帖子還是很好的)
——————————————————————
2. 貪心算法和非貪心算法的區別:
貪心算法將會找到最開始和最末尾的xx,匹配最長的字符串
非貪心則會找最短的
但注意:一組xx不會被重複利用(即,不會又當作開頭又當作末尾。其他匹配符號亦是如此)
——————————————————————
3. 點(.)不能匹配換行符,即換行符將會截斷當前正則表達式的匹配工作,並從新一行重新開始。(若想要可以匹配新的一行,則需要加上參數:“正則表達式”,目標字符串 . re . S)
——————————————————————
常用方法:
1.Compile:寫一個規律,並賦值給一個變量。當調用findall或者其他函數時直接:
findall(規律,目標字符串)
2.match:將會匹配一個字符串的開頭是否符合所寫的正則表達式,若不符合則返回none。
區別:
從區別中我們可以注意到,返回數據類型的不同,經過測試:
-
即便findall匹配的字符串不加括號告訴python你想要什麼,它就會自動返回所匹配的字符串。
-
而其他如果不用括號括起來,那python只是匹配到 有 符合此規律的字符串,但不會返回。
看圖:
-
當我們需要已提取字符串中的某一段內容時,我們可以在寫正則表達式時加上小括號來標明我們需要哪部分的內容。例如:
-
sub的語法:re.sub(“正則表達式“,”要替換成的字符串“,目標字符串)