您好,有用于模糊搜索的文本,用户在其中提供文本,我稍后替换为用于正则表达式解析的字符
这是保存在configuration_blocks变量中的文本
邻居 10.1.(()).(())
这是代码:
configuration_blocks = [sub.replace("$", ".*").replace("(())", "\S+") for sub in configuration_blocks]
然而结果是 邻居 10.1.\ \S 带 2 个反斜杠
我怎样才能做到这一点只得到 1 个反斜杠
我也尝试写入 .txt 文件,它写为双斜杠 S
如果您想在字符串中使用单个反斜杠,您需要将其转义为另一个反斜杠,例如 \。所以在你的代码中你这样做:
configuration_blocks = [sub.replace("$", ".*").replace("(())", "\S+") for sub in configuration_blocks]
您可能仍会在控制台中看到双反斜杠,但在正则表达式上下文中,它将表现为单反斜杠。
如果您想在控制台中将字符串视为单个反斜杠,请使用像这样的原始文本 (
r""
)