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

原文地址:https://www.cnblogs.com/jyue/p/10468699.html

时间: 2024-08-01 13:23:01

r的作用的相关文章

python字符串前面加上&#39;r&#39;的作用

在打开文件的时候open(r'c:\....') 加r和不加''r是有区别的 'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子 在字符串赋值的时候 前面加'r'可以防止字符串在时候的时候不被转义 原理是在转义字符前加'\' 例: s=r'\tt' print(s) Output: '\tt' s='\tt' print(s) Output: '        t' 在Python的string前面加上'r', 是为了告诉编译

内置函数:输入输出,input、print以及\r的作用

input: name1 = input('请输入姓名:')#输入的字符串传给name1 print(name1)#打印输入的字符串 print: def print(self, *args, sep=' ', end='\n', file=None): # known special case of print """ print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) file: 默认是输出

【C】论‘\r’和&#39;\n&#39;的纯粹性

             [图一] [图二] [图三] 通过以上三段程序证明转义序列‘\r’和‘\n’的作用是纯粹作用在鼠标定位上的,即: ‘\r’ 控制鼠标定位到当前行的行首. '\n' 控制鼠标定位到下一行的行首. 此外,也验证了C语言是结构化执行过程,即逐句执行. 对以上三段执行结果做如下解释: (1)[图一]和[图二]的对比结果说明:程序中第一个printf()语句的确有执行并正确输出:该编译环境下‘\t‘后移了8个字符位置:‘\r’控制鼠标移到当前行行首后继续打印后续的内容(2seco

Python自动化运维课程学习--Day3

本文为参加老男孩Python自动化运维课程第三天学习内容的总结. 大致内容如下: 1.文件操作 2.字符编码转码相关操作 3.函数 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 python2.7.12 --Python IDE: PyCharm 2016.3.2 一.文件操作: 1.文件操作流程:以只读.写(覆盖写).追加写.读写.追加读写.二进制读写等模式打开文件 ==> 得到文件句柄,并

chmod命令

在Linux中,为了方便这些权限,可以使用数字去代替rwx, 具体规则为:r=4,w=2,x=1,-=0; 举例: "-rwxrwx---"用数字表示就是770: 具体是这样来的:rwx=4+2+1=7;rwx=4+2+1=7; - - -=0+0+0=0. chmod语法:chmod[-R]xyz文件名(这里的xyz表示数字) -R选项作用同chown的-R选项,表示级联更改. (chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文

企业实时同步方案----Rsync+Sersync

在博文企业实时同步方案----Sersync介绍中我们详细介绍了Sersync的原理,设计架构以及和 Inotify 等等的优势区别.这里我就带大家一起来做一下 Rsync +Sersync 这个同步分发架构案例. 实验环境介绍: 内核版本:2.6.32-431.el6.x86_64 系统采用最小化安装,系统经过了基本优化,selinux为关闭状态,iptables为无限制模式 源码包存放位置:/root Rsync客户端+Sersync服务器(SERSYNC),承担角色MASTER,IP:17

SVN并行开发管理策略

总的原则:trunk保证相对稳定.分支合并到主干时将冲突降至最低. (1)       trunk用于集成.测试.发布,可以提交fixbug代码,但不允许直接提交新特性. (2)       特性在分支上开发,在编译.测试通过后才能合并到主干. (3)       特性分支确定一个负责人,负责每天执行从trunk到分支的合并.合并回trunk前,先执行一次trunk到dev的合并,然后在trunk上使用复兴分支. (4)       特性分支的存在时间不能太长,不超过一周为宜.合入主干后不能继续

获取进程列表及相关信息

闲着没事,看着任务管理器好玩,查资料先简单实现一下,代码中没有加入获取CPU占用率的代码,这个代码网上很多,只是不喜欢那种写法,这里就不写了.以后继续完善,对于System Process和System的信息还没法获得,那位兄弟知道可以提个醒. 代码如下 [delphi] view plaincopy unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Form

linux入门教程(六) Linux文件与目录管理

在linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在上一章提到的/root/.ssh/authorized_keys 这就是一个文件的路径.如果你告诉系统这个文件的路径,那么系统就可以找到这个文件.在linux的世界中,存在着绝对路径和相对路径. 绝对路径:路径的写法一定由根目录”/”写起,例如/usr/local/mysql 这就是绝对路径. 相对路径:路径的写法不是由根目录”/”写起,例如,首先用户进入到/ 然后再进入到home ,命令为 cd /home 然后 cd