如何在Python代码中引用反斜杠(四个\引用一个)?

如何在Python代码中引用反斜杠(四个\引用一个)?,python,regex,python-2.7,Python,Regex,Python 2.7,文件包含以下行: $ cat build-log.txt 2018-02-23T10:08:52.856946Z|cov-internal-capture|6812|info|> EXECUTING: "C:\ghs\comp_201416\asarm.exe" -elf -b0 [ skip ] 我花了一个多小时试图找出如何设置Python re.search模式。最终结果是(目标只是在这个实例中提取编译器名称“asarm”) 在运行的Python代码中(至少m.group(1)给出了

文件包含以下行:

$ cat build-log.txt
2018-02-23T10:08:52.856946Z|cov-internal-capture|6812|info|> EXECUTING: "C:\ghs\comp_201416\asarm.exe" -elf -b0 [ skip ]
我花了一个多小时试图找出如何设置Python re.search模式。最终结果是(目标只是在这个实例中提取编译器名称“asarm”)

在运行的Python代码中(至少m.group(1)给出了'asarm')

请解释为什么需要四个反斜杠来引用文件中的一个反斜杠

使用

Python 2.7
Mac OS X High Sierra
Elpy
GNU Emacs 25.3.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5 (Build 13F1911))
[ https://emacsformacosx.com ]

如果将某个内容指定为原始
r
字符串,则只需转义一次

regex = r"C:\\ghs\\comp_201416\\([a-z]*)\.exe"

\
被转义一次,因此它看起来像
\
,因为
.exe
只有
需要转义,所以
\.

因为转义它们两次;一次在Python字符串文字语法中,一次在正则表达式中。可能会读到,这在开头的段落中有解释。可能是@usr2564301的重复:为什么不起作用,你试过了吗?我觉得很好:(试过之后)噢!被
r
的意思抓住了。。。它消除了将Python字符串加倍的需要,但当然它们保留了它们的预期GREP含义……Python字符串“language”中的Regexp语言。复杂的在这两个方面都很特别,所以如果我想让它不改变地通过,我就必须加倍引用它另一方面,它只对Regexp特殊,因此只能引用一个。我知道r“”关闭了Python字符串的所有特性,只保留了Regexp的引号。
regex = r"C:\\ghs\\comp_201416\\([a-z]*)\.exe"