python3-正則表達式
- 2020 年 1 月 6 日
- 筆記
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']