正则表达式反斜杠带来的困扰
对于正则表达式中的反斜杠根据个人理解是这样的:
与大多数编程语言相同,正则表达式里使用"\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要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'\(',或者'\\(’
正则表达式反斜杠带来的困扰相关推荐
- java正则匹配多个斜杠_正则表达式中两个反斜杠的匹配规则详解
关于正则表达式raw的\匹配规则 这是我在学习中获得到的一个例子,第一表达式中匹配到的是none.于是乎我就在思考,为什么会匹配不到,假设\t被转义成一个\t,那么也应该匹配到\tsanle,而不是n ...
- silverlight Image Source URI : 一个反斜杠引发的血案
silverlight Image Source URI : 一个反斜杠引发的血案 Silverlight2 现在支持的Image格式有jpg和png,部分png编码也不支持,同时有些png在xaml ...
- 转载Python正则表达式匹配反斜杠'\'问题(——字符串转义与正则转义)
个人总结(非转载部分): 1.原始字串(字符串前加r,如r'xxx')常用在正则表达式中,在正则表达运算中,要进行正则转义(原始字串不原始) 实例: 2.普通字串若要用于正则表达式中,会先进行&quo ...
- Java 正则表达式中为什么反斜杠“\“需要用“\\\\”表示
正则表达式语法 在其他语言中,\\(两个斜杠) 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义. 在 Java 中,\\ (两个斜杠)表示:我要插入一个正则表达式 ...
- Python字符串和正则表达式中的反斜杠(‘\‘)问题
在Python普通字符串中 在Python中,我们用''来转义某些普通字符,使其成为特殊字符,比如 In [1]: print('abc\ndef') # '\n'具有换行的作用 abc defgIn ...
- java 匹配反斜杠_java正则表达式的反斜杠(\)匹配
源文:http://chz2002.diandian.com/post/2012-05-24/19803797 java中匹配正则表达式匹配反斜杠要用""两个反斜杠就要用" ...
- 正则表达式中反斜杠的意义
1 正则表达式中匹配一个反斜杠要用四个反斜杠 前两个反斜杠起转译作用 后两个反斜杠在语法中是一个反斜杠的意思 这个就和%道理一样 2 对于这种"-" 减号如果正则中需要过滤 也需要 ...
- 正则表达式中的/\\\\/四个反斜杠含义
<?phpecho '\\'; 运行结果:\ 由此可见,在字符串中,两个反斜杠被解释为一个反斜杠,然后在作为正则表达式, \\ 则被正则表达式引擎解释为 \,所以在正则表达式中需要使用四个反斜杠 ...
- php 匹配反斜杠,正则表达式匹配反斜杠的方法
正则表达式匹配反斜杠需要使用四个反斜杠 方法如下: $subject='\\'; var_dump(preg_match('/^\\\\$/', $subject)); ?> /^\\\$/ / ...
- Qt 正则表达式如何匹配反斜杠“\“ qt 屏蔽反斜杠输入 Qt 限制输入特殊字符
看到一个CSDN上的问题,顺便记录下来,原文链接: https://bbs.csdn.net/topics/394465467 Qt 正则表达式如何匹配反斜杠"\" qt 屏 ...
最新文章
- Nature方法 | 三代长读长宏基因组组装软件metaFlye
- jqueryIFrame框架内元素操作
- OpenCV 3.0又一个革命性版本,它会带来哪些改变
- java中static详解
- AIML元素详细说明
- c++ 工厂模式_大连中山融雪剂工厂自营工厂批发
- 在要求或期待别人做到某事的时候,先反思下自己是否值得。就好比我常会期望有很多人会记住我生日是哪天,但......
- Linux内核kernel升级失败,2.4.19的kernel升级问题!
- 学习Python大数据之后,将来主要能做什么?
- 2016年大学计算机期末笔试题目,2017年计算机基础大一考试题「附答案」
- 蒲丰投针实验原理_神奇的圆周率——布丰投针实验
- 样本不均衡及其解决办法
- 【Excel】使用技巧及总结
- 中专计算机学数学,科学计算器在中职数学教学中的意义
- win10 CMD大全
- android popup
- C++:函数指针进阶(四):函数对象operator()
- 生日悖论的Python实现
- 基于微信小程序的RSS订阅器
- Mapgis如何把坐标点按实际投影到地质图上
热门文章
- Facebook改名Meta,《头号玩家》离我们越来越近了
- 【Linux教程】压缩与解压
- 组件之爸爸只单传儿子数据
- 一、杰理AD14N芯片烧录
- 如何让联想拯救者Y9000P的大小写热键切换不显示?方法很简单。下载 Lenovo—hotkeys ,打开OSD图标,再关上就解决了。
- centos7安装后没有网卡驱动?
- Android studio关闭提示:Workspace associated with branch ‘name‘ has been restored
- RFID技术在车辆识别上的应用
- COMP被低估了吗?8大角度观测DeFi老炮Compound的“护城河”丨DeFi之道
- 第一次ThoughtWorks欧亚工作室的集体活动