1. 程式人生 > >python3-正則表示式

python3-正則表示式

import re
print(re.search("xyx","qxyasdfxuyxyxaqd"))#尋找
print(re.match("xya","qxyasdfxuyxyxaqd"))#從頭匹配,失敗返回None
print(re.match("qxy","qxyasdfxuyxyxaqd"))#從頭匹配,失敗返回None
print(re.sub('xy',"XY","xyaaxy"))#替換
pattern=re.compile(r'(\d+)(\D*)(\d+)')#匹配至少一個數字,編譯正則表示式生成一個物件,以後用這個物件作為其它函式引數呼叫
print(pattern.match("asdfaf1231sss"))#從頭匹配
m2=pattern.search("asd24faf456.31dd1231aaa")#尋找第一個匹配
print(m2)#所有匹配部分
print(m2.group(0))#第一部分
print(m2.group(1))#第二部分
print(m2.group(2))
print(m2.group(3))
res=pattern.findall("asd24faf456b31dd1231aaa")#找到所有匹配子串。返回列表
print(res)
it=re.finditer(r"\d+","aw123ad5a2114yyi809vv")#找到所有匹配子串,返回迭代器
for match in it:
    print(match.group())
print(re.split("\d+","aw123ad5a2114yyi809vv"))#按匹配的子串將字串分割後返回列表

<_sre.SRE_Match object; span=(10, 13), match='xyx'>
None
<_sre.SRE_Match object; span=(0, 3), match='qxy'>
XYaaXY
None
<_sre.SRE_Match object; span=(3, 11), match='24faf456'>
24faf456
24
faf
456
[('24', 'faf', '456'), ('31', 'dd', '1231')]
123
5
2114
809
['aw', 'ad', 'a', 'yyi', 'vv']