关于python的raw string的一些要点

由于最近在使用re库时遇到bug,深入研究了一下。关于raw string的文章网上也很多,在此摘录一些要点:
raw string,也就是经常在正则表达式和Windows路径中见到的前面带个r的字符串,比如r'C:\Windows'

  1. raw string设计宗旨:简化正则表达式中过多的反斜线\,以及用于表示Windows的路径(后者并不推荐)
  2. 作用:字符串前加r,用于防止转义(使得字符串中的转义字符不被作为转义字符看待),比如r'C:\netfolder\'中的 \n 就不会被当作换行;
    或者,可以理解为r是把\n变成了\\n:经实测,r'\n' == '\\n',结果为 True
  3. raw string是语法(syntax),不是一种特殊类型
  4. 若字符串中没有转义字符,则有r没r没有区别:比如\n是转义字符、但是\l和\q不是,因此r'\n' == '\n'为 False,但r'\z' == '\z'为 True
    ASCII转义字符表:https://blog.csdn.net/qq_23274715/article/details/102594914

参考文献:
https://stackoverflow.com/a/2081708/5093308 (推荐)
http://blog.sina.com.cn/s/blog_6a6c136d0102wzrj.html
https://www.journaldev.com/23598/python-raw-string
https://docs.python.org/3/reference/lexical_analysis.html#string-literals

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。