当前位置:  开发笔记 > 编程语言 > 正文

在Python中转义正则表达式字符串

如何解决《在Python中转义正则表达式字符串》经验,为你挑选了2个好方法。

我想使用来自用户的输入作为搜索某些文本的正则表达式模式.它有效,但我如何处理用户放置在正则表达式中有意义的字符的情况?例如,用户想要搜索Word (s):正则表达式引擎将(s)作为一个组.我希望它像一个字符串一样对待它"(s)".我可以运行replace用户输入并替换(with \()with \)但问题是我需要替换每个可能的正则表达式符号.你知道更好的方法吗?



1> ddaa..:

使用此re.escape()功能:

4.2.3 re模块内容

逃生(字符串)

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

一个简单的例子,搜索所提供字符串的任何出现,可选地后跟's',并返回匹配对象.

def simplistic_plural(word, text):
    word_or_plural = re.escape(word) + 's?'
    return re.match(word_or_plural, text)



2> gimel..:

你可以使用re.escape():

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

>>> import re
>>> re.escape('^a.*$')
'\\^a\\.\\*\\$'

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有