Python正则表达式如何忽略模式的一部分而不是整个表达式的大小写?

2024-04-20 06:09:47 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个包含foobar fooBAR FOObar FOOBAR的字符串,我想搜索所有包含不区分大小写的“foo”或“foo”包含小写“bar”的实例。在这种情况下,re.findall应该返回['foobar', 'FOObar']。在

接受的this question的答案解释说,可以用(?i)foo(?-i)bar在C中完成,但是Python会产生一个无效的表达式错误。在

Python regex库支持这样的特性吗?在


Tags: 实例字符串refoobar情况this区分
2条回答

Python不支持以相同的方式禁用标志;您必须以不同的方式处理它。在

>>> re.match('[Ff][Oo]{2}bar', 'Foobar')
<_sre.SRE_Match object at 0x7eff94dac920>

re模块不支持作用域标志,但有一个替代的regex实现,它可以:

http://pypi.python.org/pypi/regex

相关问题 更多 >