python中正则表达式“\“反斜杠的转义,以及正则表达式的变量表示法

在字符串中,要转义反斜杠,使用两个"\\"反斜杠即可

但在正则表达式中有所不同

废话不多说,直接上代码

str="F:\\python_workplace\\mindspore-master\\mindspore\\core\\ops\\apply_momentum.cc"
frame_name="mindspore"
file_name="apply_momentum.cc"
ans=re.findall("{}\\\\(.*)\\\\{}".format(frame_name,file_name),str)
if ans:
    print(ans[0])
else:print("match failed")

代码解释:

python中正则表达式使用re模块,findall()是其中的一个函数,表示匹配到所有你需要的内容,将结果返回为一个列表,如果匹配不到则返回空。

在这里我使用了{}.format的格式,这样可以在正则表达式中匹配变量,示例中的变量为frame_name,file_name

重点来了,"\\\\"四个斜杠表示正则表达式中匹配"\",即匹配字符串中的"\",这里字符串中的"\",使用了双斜杠"\\"的表示方法,因为在写字符串时对于单斜杠"\"要进行转义(实际上在内存中它就只有一个斜杠)。而为什么要使用"\\\\"来匹配单斜杠呢,原因显而易见了,首先,你的正则表达式是一个字符串,所以你写单斜杠"\"要用双斜杠"\\"表示,然后你又要匹配一个斜杠"\"(但写法上还是双斜杠"\\"),所以最后使用"\\\\"

简而言之就是,前面两个斜杠表示转义字符"\",后面两个斜杠表示你要匹配的单斜杠"\"

还是觉得有点啰嗦了!!

差点忘了贴结果

core\ops

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值