0

我想将原始字符串与应该是用户输入(直接输入或配置文件提取变量)的非原始字符串结合起来,以便将它们组合成正则表达式;

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 的斜杠正常转义,但用户输入中的括号没有转义,因此不方便,因为被识别为要检索的组而不是字符。
我知道我确实可以使用 re.sub 或 str.replace 用转义括号替换它们,但这让我想知道是否有一种简单的方法可以将原始字符串与非原始字符串结合起来,或者我是否缺少某些格式参数?

4

0 回答 0