小编典典

不重新编译的不区分大小写的正则表达式?

all

在 Python 中,我可以使用以下命令编译一个不区分大小写的正则表达式re.compile

>>> s = 'TeSt'
>>> casesensitive = re.compile('test')
>>> ignorecase = re.compile('test', re.IGNORECASE)
>>> 
>>> print casesensitive.match(s)
None
>>> print ignorecase.match(s)
<_sre.SRE_Match object at 0x02F0B608>

有没有办法做同样的事情,但不使用re.compile. 我在文档中找不到类似 Perl 的i后缀(例如m/test/i)的东西。


阅读 104

收藏
2022-03-16

共1个答案

小编典典

传递re.IGNORECASE给、或的flags参数:searchmatchsub

re.search('test', 'TeSt', re.IGNORECASE)
re.match('test', 'TeSt', re.IGNORECASE)
re.sub('test', 'xxxx', 'Testing', flags=re.IGNORECASE)
2022-03-16