Say I have a string containing foobar fooBAR FOObar FOOBAR
, and I want to search all instances containing a case insensitive "foo" or "FOO" but a lowercase "bar". In this case, re.findall
should return ['foobar', 'FOObar']
.
The accepted answer for this question explains that it can be done in C# with (?i)foo(?-i)bar
, but Python raises an invalid expression error.
Does the Python regex library support such a feature?
Python does not support disabling flags in the same manner; you will have to handle it differently.
>>> re.match('[Ff][Oo]{2}bar', 'Foobar')
<_sre.SRE_Match object at 0x7eff94dac920>
The re module doesn't support scoped flags, but there's an alternative regex implementation which does:
http://pypi.python.org/pypi/regex
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With