Python 正则表达式简单例子

#!-*-coding: UTF-8 -*-
import re
def repfuc(match):
    return "["+match.group(1)+"]"
s="111AA22BB33"
rnum="(?P<num>\d+)"
print(re.match(rnum,s).group(1)) #获取第一个匹配,第一个是整个匹配
print(re.match(rnum,s).groups()[0])#获取匹配列表,没有全匹配,和上一个一样

print("re.sub")
print(re.sub(rnum,"[\g<num>]",s)) #返回替换后的字符串
print(re.sub(rnum,repfuc,s))

print("re.finditer re.findall")
for m in re.finditer(rnum,s):    #返回匹配的match迭代器
    print(m.groupdict()['num'])

print(re.findall(rnum,s))        #以列表形式返回匹配字符串

print("re.split")
print(re.split(rnum,s))  
print(re.split("\d+",s))        #用runum分割不是预期结果

print("re.search re.match")
print(re.search(rnum,s))       #search从0位置开始,不匹配起始位置+1,一直到结束
print(re.match(rnum,s))        #match只从开始匹配

 (?x) 在表达式之前表示使用忽略空格匹配,只能使用\s\n等转义匹配,用于多行表达式,和加flah re.X效果一样

原文地址:https://www.cnblogs.com/FlyCat/p/2805622.html