假设我有一个包含“foobar fooBAR FOObar FOOBAR”的字符串,并且我想搜索所有包含不区分大小写的“foo”或“FOO”,但是小写的“bar”。在这种情况下,re.findall应返回['foobar','FOObar']。
此问题的接受答案解释了可以使用(?i)foo(?-i)bar在C#中完成,但Python会引发无效表达式错误。
Python正则表达式库是否支持此功能?
Python正则表达式库是否支持此功能?
Python不支持以同样的方式禁用标志,您需要以不同的方式处理它。
>>> re.match('[Ff][Oo]{2}bar', 'Foobar')
<_sre.SRE_Match object at 0x7eff94dac920>
re.escape
转义。因此,我需要以编程方式展开字符串为'[' + s[i] + s[i].swapcase() +']...'。然而,可能会出现标点符号和其他非字母数字字符的问题。 - Vortico
re
支持内联修饰符组。 - Wiktor Stribiżew