gpt4 book ai didi

python - 转义正则表达式字符串

转载 作者:IT老高 更新时间:2023-10-28 12:16:29 26 4
gpt4 key购买 nike

我想使用来自用户的输入作为搜索某些文本的正则表达式模式。它有效,但我如何处理用户在正则表达式中放入有意义的字符的情况?

例如,用户想要搜索 Word (s):正则表达式引擎会将 (s) 作为一个组。我希望它把它当作一个字符串 "(s)"。我可以在用户输入上运行 replace 并将 ( 替换为 \( 并将 ) 替换为 \) 但问题是我需要替换每个可能的正则表达式符号。

你知道更好的方法吗?

最佳答案

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

4.2.3 re Module Contents

escape(string)

Return string with all non-alphanumerics backslashed; this is useful if you want to match an arbitrary literal string that may have regular expression metacharacters in it.

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

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

关于python - 转义正则表达式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/280435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com