一、前言
什么是正则表达式?
正则表达式是一个特殊的字符序列,能够帮助我们方便的检查一个字符串中是否与某种模式匹配。比如说,我们接口中的token,cookie信息,还有爬虫爬取到数据之后进行匹配等等。都是可以运用正则表达式。
二、可选函数参数
函数参数是re.py里面规定好的,如图(详情可以查看 re.py 文件):
1、先说一下每一个函数大概的意思是什么 :
a. A ASCII:对于字符串模式,请生成 w, W, b, B, d, D. 匹配相应的ASCII字符类别(而不是整个Unicode类别,这是默认的)。对于字节模式,此标志是唯一可用的行为,无需指定。
b.I IGNORECASE:执行不区分大小写。
c.L LOCALE:根据当前的区域设置,使用 w, W, b, B。
d.M MULTILINE:多行匹配。“^”匹配行的开头(换行后)以及字符串。“$”也匹配行尾(在换行符之前)作为字符串的结尾。
e.S DOTALL:“.”匹配任何字符,不包括换行符。
f.X VERBOSE:忽略空格和注释。
g.U UNICODE:仅用于兼容性。忽略字符串模式(它是默认值),并禁止字节模式。
2、用法,这里就借用W3CSchool的写法,如下:
代码语言:javascript复制import re
line = "Cats Are Smarter Than Dogs n Dogs is big happy"
matchObj = re.match(r'(.*) are (.*?) .*', line, re.I)
if matchObj:
print("matchObj.group(): ", matchObj.group())
print("matchObj.group(1): ", matchObj.group(1, 2))
print("matchObj.group(2): ", matchObj.group(2))
else:
print("No match!!")
这里,我使用了re.I这个方法,那么执行就是忽略大小写。那么就能够匹配出结果。