Python 语言使用反斜杠(\)作为转义符,对一些字符进行转义(escape),例如 “\n” “\r\n” 等。所以当 Python 字符串中如果出现反斜杠,则会自动转义其后的字符。但这会导致一个问题,就是,如果只是把反斜杠作为字符字面(liberal)意义,应该如何处理?

如果不使用 re 模块(regular expression module),在 Python 字符串中,使用两个反斜杠转义,即可表示一个反斜杠。示例代码如下:

import sys # backslash escape
enter = "\r\n" if sys.platform == "win32" else "\n"# backslash liberal
backslash_liberal = "\\"

此时,如果使用 Python 字符的 split 方法,用两个反斜杠作为分割符,是没有问题的。示例代码如下:

# Use str type's split() method
print("aa\\bb".split("\\"))

但是如果使用 re 模块的 split() 方法,依旧使用两个反斜杠,去分割 Python 字符串,则会出现错误信息。示例代码如下:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import res = "aa\\bb"
try:re.split("\\", s)
except Exception as e:print("error:", e)

这个错误的原因是 re 模块中,也将反斜杠作为转义字符,而导致的。具体来说,当输入两个反斜杠时,两个反斜杠首先在 Python 解释器进行转义,变成一个反斜杠,然后将这一个反斜杠输入到 re 模块中,而此时 re 模块找不到相应的有效转义结尾,所以会出现错误信息 “bad escape (end of pattern) at position 0” (Python 3.8)。

常用的解决方法有两种方式:

一是使用四个反斜杠 “\\” ;二是使用原始字符串(raw string),即 r"\"。示例代码如下:

print("Solution 1: ", re.split("\\\\", s))
print("Solution 2: ", re.split(r"\\", s))

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

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

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

  2. python 中反斜杠在字符串过长的正确用法

    正确的用法: url = "https://www.baidu.com/" \"yyyy" \"/xxxx.html" url'https: ...

  3. sql server 替换有反斜杠的字符串_SQL注入思维导图

    新朋友点上方蓝字"网络空间安全社"即可关注本文为以大三老狗的思路现阶段整理的超大型思维导图中的"sql注入"分支介绍. 2020/1/2 22:00 前言 本文 ...

  4. python中反斜杠_Python中的正斜杠/与反斜杠\

    知识点: 1. "/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠 2. 对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠\. ...

  5. [Python]中反斜杠的用法+详解,以及r前缀标识符的用法

    当我们在字符串中使用反斜杠字符\时,它通常被视为特殊字符,用于表示某些特殊含义,例如\n表示换行符.为了在字符串中表示一个普通的反斜杠字符\,需要使用双反斜杠\\来进行转义.这是因为反斜杠字符\在Py ...

  6. python中反斜杠b_Python bytes 反斜杠转义问题解决方法

    一.问题 因为前文提到工作中需要使用 Go 调 Python 脚本执行加解密,但是 Go 那边执行命令行输出的是 str 类型.因此需要转回 bytes 进行解密,但是发现转回 bytes 和原来的不 ...

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

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

  8. 正则表达式中反斜杠的意义

    1 正则表达式中匹配一个反斜杠要用四个反斜杠 前两个反斜杠起转译作用 后两个反斜杠在语法中是一个反斜杠的意思 这个就和%道理一样 2 对于这种"-" 减号如果正则中需要过滤 也需要 ...

  9. python不转义字符是什么_python反斜杠怎么不转义

    python本身使用 \ 来转义一些特殊字符,比如在字符串中加入引号的时候 为了防止和字符串本身的引号冲突,使用 \ 来转义,一般情况下这个也不会引起什么问题,但是当你要使用 \ 来转义 \ 的时候, ...

最新文章

  1. Android 你知道界面布局嵌套多少层之后会Crash吗
  2. LSM 优化系列(二)-- dCompaction: Speeding up Compaction of the LSM-Tree via Delayed Compaction
  3. 32位crc校验码程序_CRC码计算及校验原理的最通俗诠释
  4. 科沃斯机器人电池激活_扫地机器人充不进去电怎么办
  5. 【机器学习PAI实践十二】机器学习实现男女声音识别分类(含语音特征提取数据和代码)
  6. Jenkins+Maven+SVN快速搭建持续集成环境(转)
  7. 解决ionic3 android 运行出现Application Error - The connection to the server was unsuccessful
  8. 基于javaweb(springboot+mybatis)网上酒类商城项目设计和实现以及文档报告
  9. Java问题定位之如何借助线程堆栈进行问题分析
  10. token会被截取吗_做抖音搬运其他网站视频可以吗?
  11. 【PAT乙】1085 PAT单位排行 (25分) map排序
  12. 电脑笔记本利用谷歌浏览器进行网页截长图滚动截图
  13. bzoj4556(sam)
  14. 以太坊五周年:从涅槃中苏醒
  15. JSP房地产门户管理系统myeclipse开发mysql数据库BS模式java编程网页结构详细设计
  16. V神北京演讲全文:Casper与分片技术的最新进展
  17. 关于2021年11月28日PMI认证考试的报名通知
  18. 关于书签(BookMark)操作
  19. idea2017的获取注册码的方法
  20. 在一台服务器安装多个MySQL数据库实例

热门文章

  1. springboot 热部署的两种方式
  2. Java循环中删除一个列表元素
  3. ELK+redis搭建nginx日志分析平台
  4. 【ASP.NET Web API教程】5.5 ASP.NET Web API中的HTTP Cookie
  5. Css的filter常用濾波器屬性及語句大全
  6. Spring BeanFactory实例化Bean的过程
  7. 【学习笔记】制造业MES系统功能重点
  8. 【实用/转载】ALV OO Container屏幕自适应设置
  9. SAP ERP系统业务优化之采购订单追踪
  10. 5、Power Query-抓取网页数据做漂亮的图表