re模块是Python常用模块中用来进行正则匹配的模块,re模块有两个主要而函数match()和search(),以及compile()
compile()函数会对正则表达式进行编译,对正则表达式进行预编译是被建议的,但不是必须的
用一个变量接收compile返回的RegexObject对象,可以用该变量去调用方法,并能实现代码重用提升性能
match()尝试用complie()生成的匹配模式匹配字符创match(pattern,string,flags=0),检查字符串开头是否能匹配
search()尝试在字符串中搜索正则表达式中出现的第一个匹配的字符串,search(pattern,string,flags=0),检查字符串中能否匹配
match与search是有区别的,match会从string的第一个字符开始进行匹配,而search则会从任意一个开始进行匹配
pattern = re.compile('x')
pattern.match('zxc') 无结果
pattern.match('zxc',1) 匹配成功
findall(pattern,string,flags=0)在string搜索所有的匹配项,返回一个匹配项组成的列表
finditer(patter,string,flags=0)与findall相同,但是返回的是一个迭代器而不是列表
split(pattern,string,max=0)根据pattern中的分隔符把string分割成一个列表
sub(pattern,repl,string,max=0)把string中与pattern匹配的地方替换成repl字符串
group()返回匹配的字符串,start()返回匹配开始的位置,end()返回匹配结束的位置,span()返回匹配开始与结束的位置元组
group()与groups()模块也有很有用的功能,经常用于分组中