扩展符号
函数/方法 | 描述 |
---|---|
re.I 、re.IGNORECASE |
不区分大小写的匹配 |
re.L 、re.LOCALE |
根据所使用的本地语言环境通过\w、\W、\b、\B、\s、\S 实现匹配 |
re.M 、re.MULTILINE |
^和$分别匹配目标字符串中行的起始和结尾,而不是严格匹配整个字符串本身的起始和结尾 |
re.S 、re.DPTALL |
“.”(点号)通常匹配除了\n(换行符)之外的所有单个字符;该标记表示"."(点号)能够匹配全部字符 |
re.X 、re.VERBOSE |
通过反斜线转义,否则所有空格加上#(以及在该行中所有的后续文字)都被忽略,除非在一个字符类中或者允许注释并且提高可读性 |
通过使用(?iLmsux)
系列选项,用户可以直接在正则表达式里面指定一个或者多个标记,而不是通过compole()
或者其他re
模块函数。
re.I/IGNORECASE
和re.M/MULTILINE
示例代码如下:
>>> re.findall(r'(?i)yes','yes? Yes. Yes!')
['yes', 'Yes', 'Yes']
>>> re.findall(r'(?i)th\w+', 'The quickest way is through this tunnel.')
['The', 'through', 'this']
>>> re.findall(r'(?im)(^th[\w ]+)',