python - 不重新编译的不区分大小写的正则表达式?

标签 python regex case-sensitive case-insensitive

在 Python 中,我可以使用 re.compile 将正则表达式编译为不区分大小写:

>>> s = 'TeSt'
>>> casesensitive = re.compile('test')
>>> ignorecase = re.compile('test', re.IGNORECASE)
>>> 
>>> print casesensitive.match(s)
None
>>> print ignorecase.match(s)
<_sre.SRE_Match object at 0x02F0B608>

有没有办法做同样的事情,但不使用 re.compile。我在文档中找不到类似 Perl 的 i 后缀(例如 m/test/i)的内容。

最佳答案

re.IGNORECASE 传递给 searchflags 参数, match , 或 sub :

re.search('test', 'TeSt', re.IGNORECASE)
re.match('test', 'TeSt', re.IGNORECASE)
re.sub('test', 'xxxx', 'Testing', flags=re.IGNORECASE)

关于python - 不重新编译的不区分大小写的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/500864/

相关文章:

.net-core - .NET 5.0 Blazor IStringLocalizer 和区分大小写

python - scipy.stats.spearmanr 的不同结果取决于数据的生成方式

php - 仅用新行替换第一次出现的多个空格

php - 我必须使用什么正则表达式?

jquery - 在 Javascript 中,如何检测 keydown 和 keyup 事件中的字符大小写(大写/小写)?

数据库 - 为什么不区分大小写?

Python - 函数实现的求和

python - Pandas HDFStore 用于核外顺序读/写可变大小的集合

python - 在 Pandas 中的 GroupBy 对象内进行过滤

python unicode 正则表达式