re.sub 输出不是预期的下面是示例代码
import re
i=input() #H:\build\exe.win32-3.4\collections введите эту строку
print(re.sub(r"\w+",i,"f"))
我意识到你需要用双斜线书写,但我认为将进入路径的用户不会放两个斜线,因为他根本不知道。本质上应该输出 H:\build\exe.win32-3.4\collections 和
输出 Huild\exe.win32-3.4\collections
为什么会发生这种情况以及如何解决?
在替换模式中,您需要将反斜杠加倍:
见在线演示。
反斜杠字符是替换模式中的特殊字符,它指定对子模式值的反向引用,因此必须将其加倍以指定文字反斜杠字符。
如果替换模式是一个没有反向引用的变量,则将文字反斜杠字符加倍
.replace("\\", r"\\")
(即用两个文字反斜杠替换一个文字反斜杠):在线查看另一个演示