【发布时间】:2015-09-01 00:21:00
【问题描述】:
我必须从用户那里获取一个字符串并对其进行格式化,以便某些命令行使用可以接受它。基本上,我需要用两个反斜杠替换双引号 (") 之前的任何反斜杠。我可以使用这个正则表达式找到模式:
import re
pattern = '\\\\+"'
string = "\\\\\\\" asdf \\\" \\ \\ \\\\\""
print string, "\n"
matches = re.findall(pattern, string)
但是现在我有了这些匹配项,我该如何用它们自己的双重副本替换它们?所以引号前面的 3 个反斜杠必须变为 6,斜杠 1 变为 2,斜杠 2 变为 4。不在引号前面的斜杠保持相同的长度。
对此的任何建议将不胜感激。
谢谢。
【问题讨论】:
-
你能更明确地说明你想要什么输入和输出吗?什么是输入和输出的逐字示例;不用担心转义任何内容,只需向我们准确显示您想要的输入和输出即可。我只是想确保您在发布答案之前了解反斜杠的工作原理。 :)
-
字符串变量是我试图替换斜杠的字符串。python 使用转义字符后,该字符串为:\\\" asdf \" \ \ \\"
-
因此输出将是: \\\\\\" asdf \\" \ \ \\\\"