^
匹配字串 的開頭
[^…]
不在中的字元:[^abc] 匹配除了a,b,c之外的字元
[…]用來表示一組字元,單獨列出:[amk] 匹配 『a』,『m』或』k』
$匹配字串的末尾
.匹配任意字元,除了換行符,當re.dotall標記被指定時,則可以匹配包括換行符的任意字元
re*匹配0個或多個的表示式
re+匹配1個或多個的表示式
re?匹配0個或1個由前面的正規表示式定義的片段,非貪婪方式
re精確匹配 n 個前面表示式。例如, o 不能匹配 「bob」 中的 「o」,但是能匹配 「food」 中的兩個 o
re匹配 n 個前面表示式。例如, o 不能匹配"bob"中的"o",但能匹配 "foooood"中的所有 o。「o」 等價於 「o+」。「o」 則等價於 「o*」
re匹配 n 到 m 次由前面的正規表示式定義的片段,貪婪方式
a|b匹配a或b
(re)
對正規表示式分組並記住匹配的文字
\w匹配字母數字及下劃線
\w匹配非字母數字及下劃線
\s匹配任意空白字元,等價於 [\t\n\r\f]
\s匹配任意非空字元
\d匹配任意數字,等價於 [0-9]
\d匹配任意非數字
\a匹配字串開始
\z匹配字串結束,如果是存在換行,只匹配到換行前的結束字串
\z匹配字串結束
\g匹配最後匹配完成的位置
\b匹配乙個單詞邊界,也就是指單詞和空格間的位置。例如, 『er\b』 可以匹配"never" 中的 『er』,但不能匹配 「verb」 中的 『er』
\b匹配非單詞邊界。『er\b』 能匹配 「verb」 中的 『er』,但不能匹配 「never」 中的 『er』
\n, \t, 等
匹配乙個換行符。匹配乙個製表符。等
\1…\9
匹配第n個分組的內容
\10匹配第n個分組的內容,如果它經匹配。否則指的是八進位制字元碼的表示式
[pp]ython
匹配 「python」 或 「python」
rub[ye]
匹配 「ruby」 或 「rube」
[aeiou]
匹配中括號內的任意乙個字母
[0-9]
匹配任何數字。類似於 [0123456789]
[a-z]
匹配任何小寫字母
[a-z]
匹配任何大寫字母
[a-za-z0-9]
匹配任何字母及數字
[^aeiou]
除了aeiou字母以外的所有字元
[^0-9]
匹配除了數字外的字元
re模組中的非貪婪匹配
python的re模組中有貪婪匹配和非貪婪匹配之分,當使用 時會匹配零個或多個,使用 時會匹配乙個或多個.當使用?在前邊特殊符號前時會進行非貪婪匹配,匹配零個或者乙個,今天主要討論非貪婪匹配中存在的坑.import re res re.findall a?aaa print res a a a re...
python中re模組的使用
res re.match pattern,string,flags 0 字串的開頭是否能匹配正規表示式。返回 sre.sre match物件,如果 不能匹配返回none。如果匹配的話,res.string可以獲得原始的字串,並不是匹配的字串 re.sub pattern,repl,string,co...
re模組使用
import re strdata python is the best language in the world match只能匹配以 開頭的子符串,第乙個引數是正則,第二個引數是需要匹配的字串 res re.match p strdata,re.i re.i引數表示忽略大小寫 res re.m...