不区分大小写的正则表达式,无需重新编译? [英] Case insensitive regular expression without re.compile?
本文介绍了不区分大小写的正则表达式,无需重新编译?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Python中,我可以使用 re.compile
将正则表达式编译为不区分大小写:
In Python, I can compile a regular expression to be case-insensitive using 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
)。
Is there a way to do the same, but without using re.compile
. I can't find anything like Perl's i
suffix (e.g. m/test/i
) in the documentation.
推荐答案
将 re.IGNORECASE
传递给标志
search $ c的参数$ c> ,
匹配
或 sub
:
Pass re.IGNORECASE
to the flags
param of search
, match
, or sub
:
re.search('test', 'TeSt', re.IGNORECASE)
re.match('test', 'TeSt', re.IGNORECASE)
re.sub('test', 'xxxx', 'Testing', flags=re.IGNORECASE)
这篇关于不区分大小写的正则表达式,无需重新编译?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文