Python-如何在正则表达式中使用变量?
发布于 2021-02-02 23:16:56
我想在a variable
内部使用regex
,该怎么办Python?
TEXTO = sys.argv[1]
if re.search(r"\b(?=\w)TEXTO\b(?!\w)", subject, re.IGNORECASE):
# Successful match
else:
# Match attempt failed
关注者
0
被浏览
149
1 个回答
-
从python 3.6开始,你还可以使用文字字符串插值
(“ f-strings”)
。在你的特定情况下,解决方案是:if re.search(rf"\b(?=\w){TEXTO}\b(?!\w)", subject, re.IGNORECASE): ...do something
-
你必须将正则表达式构建为字符串:
TEXTO = sys.argv[1] my_regex = r"\b(?=\w)" + re.escape(TEXTO) + r"\b(?!\w)" if re.search(my_regex, subject, re.IGNORECASE): etc.
请注意使用,
re.escape
这样如果你的文本中包含特殊字符,则不会这样解释它们。