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']

猜你喜欢

转载自blog.51cto.com/13959448/2325598