首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python正则表达式中,是否有一种简单的方法在使用和忽略元字符之间切换?

在Python正则表达式中,是否有一种简单的方法在使用和忽略元字符之间切换?
EN

Stack Overflow用户
提问于 2013-11-22 02:35:37
回答 2查看 403关注 0票数 6

在编译regexes时,是否有一种转换元字符编译或使用的方法?当前的代码如下所示:

当前代码:

代码语言:javascript
复制
import re

the_value  = '192.168.1.1'
the_regex  = re.compile(the_value)

my_collection = ['192a168b1c1', '192.168.1.1']

my_collection.find_matching(the_regex)

result = ['192a168b1c1', '192.168.1.1']

理想的解决方案将类似于

代码语言:javascript
复制
import re

the_value  = '192.168.1.1'
the_regex  = re.compile(the_value, use_metacharacters=False)

my_collection = ['192a168b1c1', '192.168.1.1']

my_collection.find_matching(the_regex)

result = ['192.168.1.1']

理想的解决方案是让re库处理元字符的禁用,以避免尽可能多地参与这个过程。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-22 02:37:43

不是的。然而:

代码语言:javascript
复制
the_regex  = re.compile(re.escape(the_value))
票数 7
EN

Stack Overflow用户

发布于 2013-11-22 03:15:18

为此使用re.escape()函数。

返回带有所有非字母数字反斜杠的字符串;如果要匹配可能包含正则表达式元字符的任意文字字符串,这是非常有用的。

代码语言:javascript
复制
>>> import re
>>> re.escape('192.168.1.1')
'192\\.168\\.1\\.1'
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20135953

复制
相关文章

相似问题

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