本文主要介绍了python中re模块的7个函数,根据一些实例辅助对于正则表达式的理解。
本文例子主要来源于下面的详细教程,例子基本都根据自己的理解有所改动和解释。
详细教程:http://www.runoob.com/python/python-reg-expressions.html
还有一篇详细的总结值得参考:https://www.cnblogs.com/greatfish/p/7572131.html
关于正则表达式的入门介绍:https://www.jb51.net/tools/zhengze.html
菜鸟教程中方便的正则表达式在线测试,底下有表达式示例:https://c.runoob.com/front-end/854
1.re.match函数
re.match(pattern, string, flags=0)
例1 理解起始位置开始匹配
import re
print(re.match('www', 'www.123.com').span()) #从起始位置匹配
print(re.match('com', 'www.123.com')) #没有从起始位置匹配
re.match()有从起始位置开始匹配的特性。
以上的返回结果为:
(0, 3) #表示从0个字符开始到第2个字符匹配
None
如果不加.span()
返回结果为:
<_sre.SRE_Match object; span=(0, 3), match='www'>
例2 group
方法
import re
line = "His cats are smarter than her dogs"
matchObj = re.match(r'(.*) are (.*?) .*', line, re.M|re.I)
if matchObj:
print ("matchObj.groups(): ", matchObj.groups()) #返回一个包含所有小组字符串的元组
print ("matchObj.group(): ", matchObj.group()) #返回匹配的整个表达式的字符串
print ("matchObj.group(1): ", matchObj.group(1)) #返回特定组匹配的字符串
print (