gpt4 book ai didi

python - 如何在python中转义正则表达式的所有特殊字符

转载 作者:行者123 更新时间:2023-12-01 04:21:16 25 4
gpt4 key购买 nike

我只是想知道是否有一种方法可以忽略我的模式字符串中的所有特殊字符,而不是给所有特殊字符添加“ \”。

例如,我有很长的模式列表:

patterns = ["11 (1)", "22 (2)", ... ]


我想使用for循环在文本中搜索模式:

for p in patterns:
if re.search("%s" % p,text):
# do something


这段代码绝对不会起作用,因为我的模式中带有括号。在所有特殊字符上添加“ \”将解决此问题,但这看起来很愚蠢。

我想知道有没有更好的方法可以做到这一点?例如,使用魔术引号将正则表达式中的所有特殊字符转义?谢谢!

最佳答案

您可以使用re.escape()转义特殊字符:

>>> s = "11 (1)" 
>>> import re
>>>
>>> re.escape(s)
'11\\ \\(1\\)'

关于python - 如何在python中转义正则表达式的所有特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33658582/

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