如何在Python正则表达式中添加标志?

4

我想在我的re.sub正则表达式字符串中添加一个标志。 在PHP中,我只需这样做'\test is good\i'

我尝试在re.compile中使用此方法,但它没有 .sub 方法。 我尝试使用s.replace,但我也无法添加 i 标志。


3
re模块的文档是一个很好的起点。 - Steven Rumbalski
1个回答

9
编译后的正则表达式对象可以传递给re.sub(),因此标志仍然可以在编译时传递。
r = re.compile('test is good', re.IGNORECASE)
re.sub(r, 'yup', 'TEST IS GOOD')

另外,也可以使用(?iLmsux)语法添加标志:

re.sub('(?i)test is good', 'yup', 'TEST IS GOOD')

3
另一种写法是:re.sub('test is good', 'yup', 'TEST IS GOOD', flags=re.IGNORECASE)。其中,re.IGNORECASE表示忽略大小写。 - Steven Rumbalski
3
您可以使用r.sub,因为正则表达式对象确实具有sub方法。当OP说“它没有.sub方法”时,我不知道他在说什么。 - user2357112

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接