python正则表达式匹配反斜杠

本意是把地址里那个讨厌的反斜杠变成斜杠,但是用replace函数换掉反斜杠的时候总是会把反斜杠后面的a一起给替换掉,所以想用正则表达式匹配出/,再把匹配到的位置上的反斜杠换掉,但是运行后会报错或匹配不到。

import re
str="D:/icnet/data/cityscape/leftImg8bit/train\aachen"
print(re.search("\\",str,re.I))

图片说明

import re
str="D:/icnet/data/cityscape/leftImg8bit/train\aachen"
print(re.search(r"\\",str,re.I))

图片说明
我又尝试匹配\加任意一个字母的模式(因为除了这条还有很多其他地址,反斜杠后跟的字母都不一样)但是无论用“\.”或者元字符的r“.”都匹配不到\a,请问问题到底出在哪里呢?

import re
str="D:/icnet/data/cityscape/leftImg8bit/train\aachen"
print(re.search("\\.",str,re.I))

图片说明

1个回答

print(re.search("\\\\",str,re.I))
首先\\\\在python里被视作\\,然后正则表达式当作\
zh19970528
eeins 我试了一下,这样输出的结果是None,只要反斜杠后紧接着字母似乎就无法匹配到,但如果后接空格就能匹配到
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问