python - 从 python 正则表达式中取消设置标志

标签 python regex

我有大量的正则表达式,我使用一些标志来应用它们,例如:

re.search(aRegex,aString,flags=re.IGNORECASE | re.UNICODE)

不幸的是,有一两个我不想忽略大小写。 Python 提供了一种从正则表达式中设置标志的简便方法(例如:r'(?iu)...' 设置 re.IGNORECASEre .UNICODE 标志)。

有没有一种方法可以从表达式中取消设置标志?也许是这样的:

r'(?i-)...'

r'(?I)...'

强制区分大小写。 (顺便说一句:这些都不起作用..)

最佳答案

一旦在 Python re 模块中设置了标志(在正则表达式或函数中),就无法取消设置。 (也没有办法为正则表达式的一部分设置标志)。

考虑使用 regex如果您需要这样的功能,请打包。

关于python - 从 python 正则表达式中取消设置标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16139179/

相关文章:

具有混合数据类型的 Python 嵌套 defaultdict

python - string.Formatter 抛出 KeyError ''

javascript - 信用卡以逗号分隔 - 正则表达式 - Javascript

python - Python 3.4 中的自定义异常代码和消息

python - 如何在Python中检查查询是否插入了数据

python - Django 如何验证 POST 参数

arrays - 如何检查给定单元格是否包含任何数字?

mysql - 如何在 MySQL 中实现负向先行正则表达式匹配

python split 和 re.split 不捕获字符串中出现的制表符或空格

正则表达式允许当前表达式中存在空字符串