简述Python正则表达式的标志 ?
参考答案:
Python中的正则表达式(Regular Expression)模块是re
。在Python中使用正则表达式时,可以使用一些标志(flags)来影响匹配的行为。这些标志可以作为re.compile()
或re.search()
, re.match()
, re.fullmatch()
等函数的第二个参数。
以下是一些Python正则表达式常用的标志:
re.IGNORECASE
或re.I
:忽略大小写。例如,正则表达式re.compile(r"hello", re.IGNORECASE)
会匹配"Hello", "HELLO", "hElLo"等。re.MULTILINE
或re.M
:多行模式。在多行模式中,^
和$
分别匹配每一行的开始和结束,而不是整个字符串的开始和结束。re.DOTALL
或re.S
:点号.
匹配所有字符,包括换行符。在默认模式下,.
不匹配换行符。re.VERBOSE
或re.X
:详细模式。这个模式下,你可以在正则表达式中添加注释,使其更易读。注意,在详细模式下,空格和#
后面的内容都会被忽略,除非你使用\(...\)
或\#...
来指定要保留的空格或注释。re.ASCII
或re.A
:使\w
,\W
,\b
,\B
,\s
,\S
只匹配ASCII字符,而不是所有Unicode字符。re.UNICODE
或re.U
:使正则表达式匹配Unicode字符。这个标志在Python 3中是默认的,但在Python 2中需要显式指定。
这些标志可以单独使用,也可以组合使用,如re.compile(pattern, re.IGNORECASE | re.MULTILINE)
。
注意:在Python 3.7及更高版本中,re.UNICODE
和re.U
标志已被弃用,因为在这些版本中,Unicode支持是默认的。