python – Case insensitive regular expression without re.compile?

python – Case insensitive regular expression without re.compile?

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)

You can also perform case insensitive searches using search/match without the IGNORECASE flag (tested in Python 2.7.3):

re.search(r(?i)test, TeSt).group()    ## returns TeSt
re.match(r(?i)test, TeSt).group()     ## returns TeSt

python – Case insensitive regular expression without re.compile?

The case-insensitive marker, (?i) can be incorporated directly into the regex pattern:

>>> import re
>>> s = This is one Test, another TEST, and another test.
>>> re.findall((?i)test, s)
[Test, TEST, test]

Leave a Reply

Your email address will not be published. Required fields are marked *