1、re.match() # 從頭開始匹配,第乙個字元就要符合規則
import re
res =re.match(
r'[a-z]\d'
,'qas13223455432'
)# 'qas'
2、re.search() # 匹配包含import re
res = re.search(
r'\d'
,'qas13223455432'
)# '13223455432'
3、re.findall() # 把所有匹配到的字元放在列表中返回import re
res = re.findall(
"ab"
,"abb abc abbcbbb"
)#['abb', 'ab', 'abb']
4、re.split() # 以匹配到的字元當作列表分隔符import re
re.split(
"\d+"
,"abcabc123abbacbbb"
)# '['abcabc', 'abbacbbb']
5、re.sub() # 匹配字元並替換import re
aaa =
'asnkjadkah2312ajsn'
p = re.
compile
(r'[a-z]'
)res = p.sub(
'0', aaa)
# 00000000002312ajsn
6、re.fullmatch # 全部匹配import re
res = re.fullmatch(
r'\w*\d'
,'qas13223455432'
)# qas13223455432
7、re.compile(pattern,flags=0) # 提前編譯好,省去每次匹配前的編譯過程pattern: 正則匹配規則
flags:標誌符
1) re.i(re.ignorecase)
: 忽略大小寫(括號內是完整寫法,下同)
2) re.m(multiline)
: 多行模式,改變』^』和』$』的行為
3) re.s(dotall)
: 改變』.』的行為,make the 『.』 special character match any character at all
, including a newline; without this flag, 『.』 will match anything except a newline.
4) re.x(re.verbose) 可以給你的表示式寫注釋,使其更可讀,下面這2個意思一樣
a = re.
compile
(r"""\d + # the integral part
\. # the decimal point
\d * # some fractional digits"""
, re.x)
b = re.
compile
(r"\d+\.\d*"
)
正則匹配 re
匹配一行字串的開頭 匹配任意字元,除了換行符 匹配括號中的任乙個,amk 匹配 a m 或 k 不在中的字元 abc 匹配除了a,b,c之外的字元 匹配0個或多個的表示式 匹配1個或多個的表示式 匹配0個或1個由前面的正規表示式定義的片段,非貪婪方式 f r t n 匹配所有的白字元 a z 除了小...
re 正則匹配的非貪婪匹配
非貪婪匹配 將盡可能少的匹配內容,當?出現在其他的重複次數後面時會將貪婪模式改為非貪婪模式。如 abc.abc.非貪婪匹配 盡可能少的匹配?號表示 號前面的字元出現0 無數個 號表示最少匹配 號表示 號前面的字元出現1 無數個 表示0 1個 print re.findall r ab aababba...
python 字串匹配 正則 re
1.re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。import re content 123i love 123 you pattern r 123 res re.match pattern,content print res prin...