我想在a variable内部使用regex,该怎么办Python?
a variable
regex
TEXTO = sys.argv[1] if re.search(r"\b(?=\w)TEXTO\b(?!\w)", subject, re.IGNORECASE): # Successful match else: # Match attempt failed
从python 3.6开始,你还可以使用文字字符串插值(“ f-strings”)。在你的特定情况下,解决方案是:
(“ 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这样如果你的文本中包含特殊字符,则不会这样解释它们。
re.escape