不区分大小写的Python正则表达式,无需re.compile

问题:

在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)。

回答:

re.IGNORECASEsearchmatchsubflags参数

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

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Case insensitive Python regular expression without re.compile

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

73 − 64 =