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

时间:2018-02-25 09:40:43

标签: 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')

m = re.search('C:\\\\ghs\\\\comp_201416\\\\([a-z]*)\\.exe', line)

在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 ]

1 个答案:

答案 0 :(得分:2)

如果您将其指定为原始r字符串,则只需要转义一次。

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

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