python3正则-修饰符flags

1、介绍

在re模块的函数中,多数允许设置修饰符flags参数,其用于对匹配做优化和个性设置。

2、修饰符

修饰符实质上是int参数类型,可以直接指定int类型,也可以通过re调用变量名称指定。

修饰符 描述
re.I 使匹配对大小写不敏感
re.L 做本地化识别(locale-aware)匹配
re.M 多行匹配,影响 ^ 和 $
re.S 使 . 匹配包括换行在内的所有字符
re.U 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。

3、使用

(1)使用时通过函数的flag参数指定,可以是单个也可以是多个

flag=re.I
flag = re.I|re.M

(2)如果是通过参数来指定flag,可以基于数值,如果要同时使用,可以是|进行分隔,或者直接使用相加后的值,注意如果包含非指定的值,比如flags=4会报错。

print(re.I.real) #2
print(re.M.real) #8

print(re.match(pattern="abc", string="Abc123", flags=2))
print(re.match(pattern="abc", string="Abc123", flags=2|8))
print(re.match(pattern="abc", string="Abc123", flags=10))

4、其他

除了上述常见的修饰符,还存在其他的值,比如re.DOTALL,这是定义pattern中的.可以匹配包括换行符的任意字符

posted @ 2023-04-15 12:45  挖洞404  阅读(81)  评论(0编辑  收藏  举报