对于正则表达式中的反斜杠根据个人理解是这样的:

与大多数编程语言相同,正则表达式里使用"\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r"\\"表示。同样,匹配一个数字的"\\d"可以写成r"\d"。有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。

举例说明以上内容

s = 'ABC\\-001' # Python的字符串
# 对应的正则表达式字符串变成:
# 'ABC\-001'
因此我们强烈建议使用Python的r前缀,就不用考虑转义的问题了:

s = r'ABC\-001' # Python的字符串
# 对应的正则表达式字符串不变:
# 'ABC\-001'

简而言之就是:如果不加前缀r,则需要转义才能得到对应的正则表达式字符串,然后正则表达式转义之后再抛给引擎(比如re模块的引擎)就行处理

比如 要匹配字符\,则r'\\',或者'\\\\'.

要匹配字符(,则r'\(',或者'\\(’

正则表达式反斜杠带来的困扰相关推荐

  1. java正则匹配多个斜杠_正则表达式中两个反斜杠的匹配规则详解

    关于正则表达式raw的\匹配规则 这是我在学习中获得到的一个例子,第一表达式中匹配到的是none.于是乎我就在思考,为什么会匹配不到,假设\t被转义成一个\t,那么也应该匹配到\tsanle,而不是n ...

  2. silverlight Image Source URI : 一个反斜杠引发的血案

    silverlight Image Source URI : 一个反斜杠引发的血案 Silverlight2 现在支持的Image格式有jpg和png,部分png编码也不支持,同时有些png在xaml ...

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

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

  4. Java 正则表达式中为什么反斜杠“\“需要用“\\\\”表示

    正则表达式语法 在其他语言中,\\(两个斜杠) 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义. 在 Java 中,\\ (两个斜杠)表示:我要插入一个正则表达式 ...

  5. Python字符串和正则表达式中的反斜杠(‘\‘)问题

    在Python普通字符串中 在Python中,我们用''来转义某些普通字符,使其成为特殊字符,比如 In [1]: print('abc\ndef') # '\n'具有换行的作用 abc defgIn ...

  6. java 匹配反斜杠_java正则表达式的反斜杠(\)匹配

    源文:http://chz2002.diandian.com/post/2012-05-24/19803797 java中匹配正则表达式匹配反斜杠要用""两个反斜杠就要用" ...

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

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

  8. 正则表达式中的/\\\\/四个反斜杠含义

    <?phpecho '\\'; 运行结果:\ 由此可见,在字符串中,两个反斜杠被解释为一个反斜杠,然后在作为正则表达式, \\ 则被正则表达式引擎解释为 \,所以在正则表达式中需要使用四个反斜杠 ...

  9. php 匹配反斜杠,正则表达式匹配反斜杠的方法

    正则表达式匹配反斜杠需要使用四个反斜杠 方法如下: $subject='\\'; var_dump(preg_match('/^\\\\$/', $subject)); ?> /^\\\$/ / ...

  10. Qt 正则表达式如何匹配反斜杠“\“ qt 屏蔽反斜杠输入 Qt 限制输入特殊字符

    看到一个CSDN上的问题,顺便记录下来,原文链接: https://bbs.csdn.net/topics/394465467 Qt 正则表达式如何匹配反斜杠"\"    qt 屏 ...

最新文章

  1. Nature方法 | 三代长读长宏基因组组装软件metaFlye
  2. jqueryIFrame框架内元素操作
  3. OpenCV 3.0又一个革命性版本,它会带来哪些改变
  4. java中static详解
  5. AIML元素详细说明
  6. c++ 工厂模式_大连中山融雪剂工厂自营工厂批发
  7. 在要求或期待别人做到某事的时候,先反思下自己是否值得。就好比我常会期望有很多人会记住我生日是哪天,但......
  8. Linux内核kernel升级失败,2.4.19的kernel升级问题!
  9. 学习Python大数据之后,将来主要能做什么?
  10. 2016年大学计算机期末笔试题目,2017年计算机基础大一考试题「附答案」
  11. 蒲丰投针实验原理_神奇的圆周率——布丰投针实验
  12. 样本不均衡及其解决办法
  13. 【Excel】使用技巧及总结
  14. 中专计算机学数学,科学计算器在中职数学教学中的意义
  15. win10 CMD大全
  16. android popup
  17. C++:函数指针进阶(四):函数对象operator()
  18. 生日悖论的Python实现
  19. 基于微信小程序的RSS订阅器
  20. Mapgis如何把坐标点按实际投影到地质图上

热门文章

  1. Facebook改名Meta,《头号玩家》离我们越来越近了
  2. 【Linux教程】压缩与解压
  3. 组件之爸爸只单传儿子数据
  4. 一、杰理AD14N芯片烧录
  5. 如何让联想拯救者Y9000P的大小写热键切换不显示?方法很简单。下载 Lenovo—hotkeys ,打开OSD图标,再关上就解决了。
  6. centos7安装后没有网卡驱动?
  7. Android studio关闭提示:Workspace associated with branch ‘name‘ has been restored
  8. RFID技术在车辆识别上的应用
  9. COMP被低估了吗?8大角度观测DeFi老炮Compound的“护城河”丨DeFi之道
  10. 第一次ThoughtWorks欧亚工作室的集体活动