【发布时间】:2020-12-03 13:13:40
【问题描述】:
我正在尝试匹配文件的 windows 文件路径中反斜杠之间的特定单词。 对于这种情况,要匹配的值是“Psb+”
X:\Guli\Proc(Loops)\Read\Psb+\İngil\Fate\5.0X[Lxss.] [Psb+] Instructions.txt
由于软件限制,我不能使用 import os,但我可以使用 Pythonnet。
我的正则表达式是这样的
pFilePath = "X:\Guli\Proc\(Loops)\Read\Psb+\İngil\Fate\5.0X\[Lxss.] [Psb+] Instructions.txt"
searchtext = "Psb+"
pm = re.search(r'(?i)(?<="\\")' + searchtext + r'(?="\\")', pFilePath)
它在 Visual Studio Core 中运行正常,但是当我在我的环境中尝试它时,我得到了这个错误:
parsing ............. - Too many )'s.
我被这个困住了。有没有更聪明的方法?
【问题讨论】:
-
您必须转义
pFilePath中的反斜杠。 -
有没有办法自动转换 pFilePath 而不是手动转义每个非法字符?我无法导入操作系统。
-
pFilePath.replace(r"\" , r"\\") 这会产生错误并且不起作用 SyntaxError: unexpected character after line continuation character
标签: .net regex windows python-2.7 filepath