首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不区分大小写的没有re.compile的正则表达式?

不区分大小写的没有re.compile的正则表达式?
EN

Stack Overflow用户
提问于 2009-02-01 13:56:14
回答 7查看 427.5K关注 0票数 455

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

代码语言:javascript
运行
复制
>>> 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)。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-02-01 14:01:10

re.IGNORECASE传递给searchmatchsubflags参数

代码语言:javascript
运行
复制
re.search('test', 'TeSt', re.IGNORECASE)
re.match('test', 'TeSt', re.IGNORECASE)
re.sub('test', 'xxxx', 'Testing', flags=re.IGNORECASE)
票数 728
EN

Stack Overflow用户

发布于 2012-05-04 15:05:39

您还可以使用不带IGNORECASE标志的search/match执行不区分大小写的搜索(在Python 2.7.3中经过测试):

代码语言:javascript
运行
复制
re.search(r'(?i)test', 'TeSt').group()    ## returns 'TeSt'
re.match(r'(?i)test', 'TeSt').group()     ## returns 'TeSt'
票数 123
EN

Stack Overflow用户

发布于 2017-02-23 11:43:42

不区分大小写的标记(?i)可以直接合并到正则表达式模式中:

代码语言:javascript
运行
复制
>>> import re
>>> s = 'This is one Test, another TEST, and another test.'
>>> re.findall('(?i)test', s)
['Test', 'TEST', 'test']
票数 73
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/500864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档