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效果一样

你可能感兴趣的:(python)