python正则表达式中原生字符r的作用
r的作用
>>> mm = "c:\\a\\b\\c"
>>> mm
'c:\\a\\b\\c'
>>> print(mm)
c:\a\b\c
>>> re.match("c:\\\\",mm).group()
'c:\\'
>>> ret = re.match("c:\\\\",mm).group()
>>> print(ret)
c:\
>>> ret = re.match("c:\\\\a",mm).group()
>>> print(ret)
c:\a
>>> ret = re.match(r"c:\\a",mm).group()
>>> print(ret)
c:\a
>>> ret = re.match(r"c:\a",mm).group()
Traceback (most recent call last):File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'
>>>
说明
Python中字符串前面加上 r 表示原生字符串
与大多数编程语言相同,正则表达式里使用"\"作为转义字符
,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。
Python里的原生字符串很好地解决了这个问题,有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。
>>> ret = re.match(r"c:\\a",mm).group() >>> print(ret) c:\a
python正则表达式中原生字符r的作用相关推荐
- Python正则表达式中的‘r‘
Python正则表达式中的'r' 最近遇到一个非常困惑的地方,那就是在使用Python中的正则表达式的时候,正则表达式前面的'r'带来的影响.自己最开始的困惑点在于,'r'的作用是声明为原始字符串,那 ...
- Python正则表达式中的转义问题\\\\\\\\\????(焯!什么鬼)
这次写这篇博客是一个容易把自己绕糊涂的问题 就是转义问题啦(开练开练) 转义字符和原生字符串: 首先讲一下一些基础的概念 转义字符和原生字符串的区别 '\n'代表换行,是一个转义字符 r'\n' 代表 ...
- python正则表达式中的转义字符_python 正则表达式之转义字符
最近在整理python相关的知识,使用python对网站进行爬取数据的时候,需要使用到转义字符,之前对转义字符理解一直比较模糊,并且在python中还有一个叫原生字符r.所以通过网上调查资料对该内容进 ...
- Python正则表达式中使用findall函数遇到括号嵌套的小坑
1.findall函数 我们都知道括号在正则表达式中起到了分类的作用,但当定义好一个自己的字符匹配模式(含有括号)后,使用findall()函数会遇到一点小坑. 具体来说就是: 可以发现是否将整个正则 ...
- python正则表达式中的r与转义字符_左手用R右手Python系列13——字符串处理与正则表达式...
原标题:左手用R右手Python系列13--字符串处理与正则表达式 杜雨,EasyCharts团队成员,R语言中文社区专栏作者,兴趣方向为:Excel商务图表,R语言数据可视化,地理信息数据可视化.个 ...
- Python正则表达式中的r
在Python的string前面加上'r', 是为了告诉编译器这个string是个raw string,不要转意backslash '' . 例如,\n 在raw string中,是两个字符,\和n, ...
- python正则表达式中的转义字符_详解python中正则表达式的反斜线的转义功能
最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享. 核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你 ...
- Python正则表达式中的贪心模式和非贪心模式
声明:最近发现有人利用我在百度云盘里免费分享的127课Python视频盈利,并声称获得我的授权.在此,我声明,文末百度云盘里的Python视频是免费的,不会授权给任何人或机构进行销售.如果再发现有人卖 ...
- php正则表达式中的字符是,PHP_PHP正则表达式中的特殊字符,字符/意义:对于字符,通常表 - phpStudy...
字符/ 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释. 例如:/b/匹配字符'b',通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示 匹配一个单词的分界线 ...
最新文章
- HDU 4540 威威猫系列故事――打地鼠(DP)
- ubuntu常用配置整理
- 简单的图片处理servlet
- matlab一句一句调试,matlab程序怎样调试和运行
- SpringMVC框架介绍
- Hard Disk Drive HDU - 4788——24行代码AC,解题报告
- Win7旗舰版电脑开机慢的解决方法
- egret性能优化总结
- HDU1686:Oulipo
- 标定工具CANape软件使用之新建工程
- VSF表格 粘贴板ClipBoard 将数据粘贴到表格 VB6.0
- Windows Server Raid磁盘阵列
- indexOf用法小结
- 2021年茶艺师(中级)最新解析及茶艺师(中级)考试总结
- C语言访问数组的常用方法,C语言数组基本知识点详解
- 音频声学基础一,基本概念介绍
- 训练集、测试集的划分——K折交叉验证
- 电动汽车充电桩资料搜集
- 绝对值海德汉光栅尺LC481/LC483/LC485/LC185/LC183/LC193F/LC195F/LC195S/LC195P/LC493F/LC495F/LC493M/LC115参数针脚定义
- mysql查看当前环境变量