python通过re模块提供对正则表达式的支持。使用re的一般步骤是先将正则表达式的
字符串形式编译为Pattern实例,然后使用Pattern实例处理我文本并获得匹配结果,
最后使用Match实例获得信息,进行其他操作。主要用到的方法如下:
1、re.compile(string[,flag]) 将一个正则表达式的字符串转化为Pattern匹配对象
pattern = re.compile(r'd+')
2、re.match(pattern,string[,flags]) 从string的开头开始匹配pattern,遇到无法匹配或已到末尾,立即返回None,反之获取匹配结果
re.match(r'd+','192abc')--->>192
re.match(r'd+','abc192')--->>none
3、re.search(pattern,string[,flags]) 扫描整个string进行匹配pattern,其他同re.match()
re.match(r'd+','abc192')--->>192
4、re.split(patter,string[,maxsplit])按照能够匹配的子串将string分割后返回列表。maxsplit用于指定最大分割次数,不指定,默认则将全部分割。
re.split(r'd+','A1B2C3D4')--->>['A','B','C','D',' ']
5、re.findall(pattern,string[,flags])搜索整个string,以列表形式返回能匹配的全部子串列表
re.findall(r'd+','A1B2C3D4')--->>['1','2','3','4']
6、re.finditer(pattern,string[,flags])搜索整个string,以迭代器形式返回能匹配的全部Match对象。
matchlist = re.finditer(r'd+','A1B2C3D4')
for match in matchlist:
print match.group()-------->>1 2 3 4
flag值:
re.I:忽略大小写
re.M:多行模式,改变'^'和'$'的行为
re.S:点任意匹配的模式