Python正则表达式专家!我正在尝试更改 xml 文档中的一行。 原行是:
<Tag name="low" Value="%hello%\dir"/>
我想看到的结果是:
<Tag name="low" Value="C:\art"/>
我失败的直接尝试是:
lines = re.sub("%hello%\dir"", "C:\art"/>
这行不通。不会更改文档中的任何内容。有 %?
出于测试目的,我尝试了:
lines = re.sub("dir", "C:\art", a)
然后我得到:
<Tag name="low" Value="%hello%\C:BELrt"/>
问题是\a = BEL .
我试过很多其他的东西,但都无济于事。我该如何解决这个问题?
请您参考如下方法:
你的问题是你有一些在正则表达式中具有特定含义的字符。
\d 表示任何数字。 %hello%\dir 然后是 %hello%[0-9]ir
你需要转义那些斜杠/使用原始字符串来解决这个问题:
a = '''<Tag name="low" Value="%hello%\dir"/>'''
lines = re.sub(r"%hello%\\dir", r"C:\\art", a)
print(lines) #<Tag name="low" Value="C:\\art"/>
