您的位置:首页 > 其它

第一章:文本-re:正则表达式-搜索选项(5)

2019-01-28 20:11 316 查看

1.3.7.5 在模式中嵌入标志
有些情况下,编译表达式时不能增加标志,如将一个模式作为参数传入一个库函数,这个库函数将在以后编译这个模式,在这种情况下,标志可以嵌入到表达式字符串本身。例如,要打开大小写无关匹配,可以在表达式开头增加(?i)。

import re

text = 'This is some text -- with punctuation.'
pattern = r'(?i)\bT\w+'
regex = re.compile(pattern)

print('Text    :',text)
print('Pattern :',pattern)
print('Matches :',regex.findall(text))

由于这些选项会控制如何计算或解析整个表达式,所以它们总算要出现在表达式的最前面。所有标志的所需如表1-3所列。嵌入标志可以放在同一个组中结合使用。例如,(?im)会打开对多行字符串的大小写无关匹配。

表1-3 正则表达式标志缩写

标志 缩写
ASCII a
IGNORECASE i
MULTILINE m
DOTALL s
VERBOSE x

运行结果:

Text : This is some text – with punctuation.
Pattern : (?i)\bT\w+
Matches : [‘This’, ‘text’]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐