我想将原始字符串与非原始字符串组合在一起,该字符串应该是用户输入(直接输入或配置文件提取变量), 为了将它们组合成正则表达式;
import re
input = "user_input"
regex = re.compile(r"^line:{}.\s(group_to_be_captured)".format(input)
问题是user_input包含括号
regex.pattern
等于
'^line:userinputpart1(userinputpart2).\\s(group_to_be_captured)'
所以\ s的斜杠正常转义,但是userinput中的括号没有转义,因此不方便,因为它被识别为要检索的组而不是字符。
我知道我确实可以使用re.sub或str.replace通过转义括号来替换它们,但它让我想知道是否有一个简单的意思是将原始字符串与非原始字符串组合在一起,或者是否存在某些格式参数我缺少? / p>