问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

正则表达式中,斜杠"/" 在什么情况下需要转义?什么情况下不需要转义?

发布网友 发布时间:2022-05-10 14:18

我来回答

4个回答

懂视网 时间:2022-05-10 18:39

本篇文章给大家带来的内容是关于浅析python正则表达式中反斜线的转义功能的原理,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享。

核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你要匹配一个反斜线本身时要注意它必须被转义两次。(除非你使用原始字符串,就是字符串前面加r)

我们先来看一个例子:

import re
a = re.match('','')
 File "<ipython-input-93-6e1102e416ee>", line 2
 a = re.match('','')
    ^
SyntaxError: unexpected character after line continuation character

上面这个例子本身就不合语法要求,那么为什么呢? 首先在
python中,因为正则表达式本身是一个字符串,所以它要遵守字符串的规则——反斜线表示转义符
而在正则表达式中反斜线又是一个具有转义功能的元字符,所以反斜线具备了双重转义功能

回到例子中,第一个转义了第二个,此时第二个去除了字符串转义符的身份,但是它还有正则表达式转义元字符的身份,也就是说第二个仍然具备转义功能,那么它转义谁呢?它只能转义第三个,可是第三个它具备两层身份(字符串的转义符和正则表达式的转义元字符)

所以现在有两种可能情况发生:

第一种,第二个无法转义第三个,因为身份不符,一个是正则表达式转义元字符,另一个是字符串转义符

第二种,第二个转义了第三个,但是这种转义也仅仅是去除了一层身份,但是它还有一层身分(转义元字符)结果就是第三个仍然具有转义功能。

总之不管这时发生了哪种情况,第三个最终结果就是仍然具备转义功能,他会转义它后面的单引号,使得整段代码语法错误。

所以正确的写法是再添加一个反斜线,四个反斜线,两两转义之后最终转义成匹配单独一个反斜线的功能

import re
a = re.match('\','')
print(a)
#显示的结果match='',之所以显示两个反斜线是因为语法规定一个反斜线无法显示(是转义符)
<_sre.SRE_Match object; span=(0, 1), match=''>

当然也可以使用原始字符串的方法,在字符串前面加r,这时里面的反斜线就失去字符串转义符的功能了,本文主要讨论实质原理,不是方法

import re
a = re.match(r'','')
print(a)
<_sre.SRE_Match object; span=(0, 1), match=''>

热心网友 时间:2022-05-10 15:47

正常情况下“/”不需要转义,除非你写Javascript,因为它的patter是写法是"/..../",所以里面的/需要转义。

正则表达式,又称规则表达式。

正则表达式的英语:Regular Expression,在代码中常简写为regex、regexp或RE,计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。

例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成"regex",单数有regexp、regex,复数有regexps、regexes、regexen。

热心网友 时间:2022-05-10 17:05

正常情况下/不需要转义吧,除非你写Javascript,因为他的patter是写法是"/..../",所以里面的/需要转义。

热心网友 时间:2022-05-10 18:40

只有反斜杠需要转义把, / 直接用就可以了
想用\,需要用\\来转义
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
王者送皮肤要多少亲密度才能送 王者荣耀 王者荣耀送皮肤需要什么条件? 劳动法裁员补偿工资如何计算 庆余年电视剧第一季结局在小说第几章大概啊?想接着追下去 汽油、柴油价格、航空煤油价格它们每升油提高多少呢? 生产制造ERP管理软件系统 做脑部CT检查的危害 年轻人做脑CT危害 我怀孕快两个月了,前几天陪同家人去做了脑部CT,后悔死了。这样会对我... 做脑ct后悔了怎么办? 什么是304水龙头?不锈钢水龙头优势有哪些? 批处理,连续不断的ping一个固定的ip,3秒ping1次,将结果全部输出到txt上,带上时间 多个ping 同时ping一个IP 怎么用if命令连续ping所有内网IP? 手机里面保存的微信视频,有什么方法可以找到视频来自哪个吗? 电脑显示器的寿命一般是多少年?一般是什么原因使它坏的? 地铁4号线文化宫站附近有那几条公交线路? 成都地铁4号线沿线的居民楼能听到地铁声吗? 重庆轨道交通4号线,目前只开通了8个站,未来的规划是怎样? 北京地铁四号线到底过哪些地方? 下面的那个做法是空调板防水做法,第一个步骤括号里的与墙体交界处做什么翻边是什么意思,最好画图给我, 这个空调板圈圈里面的符号什么意思 空调的反相器是什么 你知道用IO开关量怎么控制12V继电器吗? 电子钱包支付方式的特点 图纸变更为空调板边有上反梁,对吗? 砖砌空调板上反墙怎么加固? 一带一路战略概念股有哪些 要把一张照片里面的人制作动起来,其它动西不动,要怎么制作。 华为手机怎么查看手机wifi密码 304不锈钢水龙头怎样预防生锈? 一切如常的反义词是什么? 一切如常的反义词是什吗 一切如常的反义词 阅读题 快点 驻扎近义词 没有惊喜 一切如常的成语 小孩耳朵后面长个疙瘩怎么回事?应该怎么办? 高兴、违抗、善良各的反义词 孩子 耳朵后面长了个硬疙瘩那是怎么回事 谁有语文出版社s版五年级上册的词语、近义词反义词、多音字、语文百花园... MP3歌曲己下载到我的电脑,拖到Mp3播放器为什么没有声音? 懒惰、和蔼、随心所欲、突如其来的反义词 懒惰,示弱,浩瀚,隐蔽,毒辣,完好无缺的反义词是啥? 部分MP3文件没有声音 我女儿耳朵后长了个小疙瘩是怎么回事急急急 小孩子耳朵后面长了个小疙瘩,怎么回事呢?要带小孩子去医院检查吗? mp3没有声音 四岁孩子耳朵后面突然鼓起来一个大疙瘩是怎么回事 超常的反义词是什么?
  • 焦点

最新推荐

猜你喜欢

热门推荐