编程中对字符串的操作非常常见。例如判断一个邮箱是否合法,一串数字是否是中国的手机号码等等。而要处理好这些,学好正则表达式就显得非常必要了。
先认识一下常用的元字符
在这之前先学习一下python独有的 re模块中的findall()函数,接下来会用到此函数,帮助我们更好的理解元字符。
re.findall(pattern,string,flags)
表示在string中匹配到pattern,flags表示一些属性(可不写),例如 re.I,表示匹配要忽略大小写。re.M 表示匹配多行。返回结果以列表形式展示。
例如
s1 = "I love Python"
r1 = re.findall("PYTHON", s1, re.I)
r2 = re.findall("PYTHON", s1)
print("r1执行的结果是{}\nr2执行的结果是{}".format(r1, r2))
执行结果:
1.通用字符 . 匹配除了换行符外的所有字符
s1 = "I\nlove\nPython"
r1 = re.findall(".", s1)
r2 = re.findall('.', s1, re.S)
print("r1执行的结果为:", r1, "\nr2执行的结果为:", r2)
执行结果:
2.^匹配字符串开头,$匹配字符串末尾
import re
s = 'I\nlove\nPython'
r1 = re.findall("^l", s, re.M) # re.M表示匹配每一行
print("r1的执行结果为", r1)
r2 = re.findall("e$", s, re.M