import re
print('\ a:{}个字符,\\a:{}个字符'.format(len('\ a'),len('\a')))
#结果:  \ a:3个字符,\a:1个字符match1 = re.findall('\\\\','\ a')
match2 = re.findall('\\\\','\a')
match3 = re.findall('\\a','\a')
print(match1,match2,match3)
print(match1[0],match3[0])
#结果:  ['\\'] [] ['\x07']
#结果:  \ match4 = re.findall(r'\\','\ a')
match5 = re.findall(r'\\','\a')
match6 = re.findall(r'\a','\a')
print(match4,match5,match6)
#结果:  ['\\'] [] ['\x07']

第一段:在字符串中,\a为一个字符,\空格为两个字符。

第二段:在字符串中,无法搜索出\a字符中单独的反斜杠\,需要整体字符搜索。当需要搜索单独的一个反斜杠\时,需要使用两个\来搜索,即使用一个转义符\来表示反斜杠本身,re中pattern则要写为'\\\\'或r'\\'。

第三段:r'\'相当于'\\',同理r'\\'相当于"\\\\"。

参考:https://docs.python.org/3/library/re.html#regular-expression-syntax

\

If you’re not using a raw string to express the pattern, remember that Python also uses the backslash as an escape sequence in string literals; if the escape sequence isn’t recognized by Python’s parser, the backslash and subsequent character are included in the resulting string. However, if Python would recognize the resulting sequence, the backslash should be repeated twice. This is complicated and hard to understand, so it’s highly recommended that you use raw strings for all but the simplest expressions.
如果你没有使用原始字符串来表达模式,请记住Python也使用反斜杠作为字符串文字中的转义序列; 如果Python的解析器无法识别转义序列,则反斜杠和后续字符将包含在结果字符串中。但是,如果Python识别出结果序列,则反斜杠应重复两次。这很复杂且难以理解,因此强烈建议您使用原始字符串,除了最简单的表达式。

转载于:https://blog.51cto.com/13562190/2382343

[python] raw string,反斜杠\,re Lib相关推荐

  1. 转载Python正则表达式匹配反斜杠'\'问题(——字符串转义与正则转义)

    个人总结(非转载部分): 1.原始字串(字符串前加r,如r'xxx')常用在正则表达式中,在正则表达运算中,要进行正则转义(原始字串不原始) 实例: 2.普通字串若要用于正则表达式中,会先进行&quo ...

  2. python中斜杠加引号什么意思_如何在Python中转义反斜杠和单引号或双引号?

    你是怎么做到的 如果你的"长字符串"是从文件中读取的(正如你在评论中提到的),那么你的问题是误导性的.因为你显然不完全理解逃逸的工作原理,所以你写下的问题可能与你真正的问题不同. ...

  3. python IDLE中反斜杠显示为人民币符号¥

    Python自带的IDE是IDLE,最简单不过,但是全国二级要求使用该IDE. 该IDE相对于其他更高级的IDE,例如PyCharm和Visual Studio Code等,功能明确弱得很.但是,就应 ...

  4. Python中关于反斜杠(\)用法的总结

    首先,我们需要知道的是,在python中/所代表的是正斜杠,而\代表的是反斜杠.关于反斜杠的使用,我认为转义二字就是其用法的本质.转义,我的理解就是通过对反斜杠的使用,使字符.格式等与其原来意义不同, ...

  5. python 拆分字符串反斜杠_每日一课 | Python 拆分字符串入到字典里面

    很少有Python示例向您展示如何将字符串拆分为字典. 1.1将字符串拆分成字典 #!/usr/bin/python str = "key1=value1;key2=value2;key3= ...

  6. python IDLE中反斜杠显示为人民币符号¥的解决办法

    改换英文字体即可 转载于:https://www.cnblogs.com/BH8ANK/p/8533135.html

  7. 【Python教程】 正则表达式 re模块中,反斜杠 “\“分割字符串的正确操作方法

    Python 语言使用反斜杠(\)作为转义符,对一些字符进行转义(escape),例如 "\n" "\r\n" 等.所以当 Python 字符串中如果出现反斜杠 ...

  8. Python re 模块中,如何使用反斜杠 “\“分割字符串?

    Python 语言使用反斜杠(\)作为转义符,对一些字符进行转义(escape),例如 "\n" "\r\n" 等.所以当 Python 字符串中如果出现反斜杠 ...

  9. python的多行语句可以使用反斜杠_python 为什么不用分号作终止符?

    作者:豌豆花下猫 来源:Python猫 一般而言,编程语言中使用分号";"来实现两种目的: 作为语句分隔符:使用分号来分隔语句(statement),这样就能在一行代码中书写多条语 ...

最新文章

  1. LeetCode简单题之“气球” 的最大数量
  2. 微信小程序var,let,const的区别
  3. epoll/select
  4. EnvironmentError: [WinError 5] 拒绝访问
  5. java写exe程序实例_2012软考软件设计师辅导:利用JAVA执行本地EXE文件
  6. oracle两种导出导入方式,即imp与impdp之比较
  7. oracle 修改sgamaxsize_Oracle修改表空间大小
  8. Build tool
  9. 《软件需求十步走》阅读笔记一
  10. calabash android教程,Calabash Android 使用教程 (二)
  11. 第九届大唐杯省赛知识梳理-5G协议与信令(20%)
  12. xposed框架_把安卓手机开发到极致的框架xposed
  13. 统一AI教育是怎么样
  14. 电脑能正常上网,但是显示无Internet
  15. openwrt sdk下交叉编译aria2c
  16. RxJava 驯服数据流之副作用
  17. 刷脸不要手机也能付款高端大气上档次
  18. python中end= 的含义
  19. CPP Primer5内容导图--拷贝控制
  20. 快应用入门:第一个快应用程序

热门文章

  1. Android Studio中R报错(cnanot resolve symbol R)
  2. [转] [Elasticsearch] 数据建模 - 处理关联关系(1)
  3. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(二)
  4. Freecms商业版 oracle添加信息时报错”转换请求无法实施或不合理”
  5. 大搜索时代下的网络拓扑搜索定位
  6. 彻底分析ARP病毒查杀防范全攻略
  7. 危险,几条可致命的Linux命令!
  8. LINUX系统一一CentOS6.5之固化Ip
  9. SqlServer标识列、修改标识列值
  10. dom兼容性问题3 元素操作