(Python 2.7)正则表达式替换为替换字符串中与模式中类似的字符

(Python 2.7)正则表达式替换为替换字符串中与模式中类似的字符,python,regex,python-2.7,Python,Regex,Python 2.7,我试过了 import re pattern = re.compile(r"/") a = "a/b" 我想要的是 re.sub(pattern, '\/', a) #(also, a.replace('/', '\/')) #output a\\/b 第一个\是转义字符,因此需要键入两次才能得到真正的\ 第一个\是转义字符,因此需要键入两次才能使用真正的\,如果不强制使用正则表达式: a.replace('/', '\\/') 如果不强制使用正则表达式,则可以使用: a.replace

我试过了

import re
pattern = re.compile(r"/")
a = "a/b"
我想要的是

re.sub(pattern, '\/', a) 
#(also, a.replace('/', '\/'))
#output
a\\/b
第一个
\
是转义字符,因此需要键入两次才能得到真正的
\


第一个
\
是转义字符,因此需要键入两次才能使用真正的
\
,如果不强制使用正则表达式:

a.replace('/', '\\/')

如果不强制使用正则表达式,则可以使用:

a.replace('/', '\\/')

听起来你想替换(“/”,“\\/”)试试:
x=re.sub(模式“\/”,a)
然后打印(x)。它已经纠正了您的代码正在工作-@GrzegorzSkibinski我有python 2.7,但它不工作。也许它会在3.x中工作。是的,如果你打印结果,你会得到
a\/b
,并且不确定为什么要使用
re.sub
而不是
pattern.sub('\/',a)
听起来像是你想要
a.replace('/','\\/')
尝试:
x=re.sub模式,'\/',a)
然后
print(x)
。它已经纠正了您的代码正在工作-@GrzegorzSkibinski我有python 2.7,但它不工作。也许它会在3.x中工作。是的,如果你打印结果,你会得到
a\/b
并且不确定为什么你使用
re.sub
而不是
pattern.sub('\/',a)
你使用的是什么版本的python?我使用的是python 3.7,但它在2.7中也可以工作是的,你是正确的。实际上,我是在jupyter中运行的,没有print()语句,否则就可以了。您使用的是什么版本的python?我使用的是python 3.7,但它在2.7中也可以工作是的,您是正确的。实际上,我是在jupyter中运行的,没有print()语句,否则就可以了。
a = "a/b"
a=a.replace("/","\/")
print(a)