正则表达式匹配主要有两种,匹配字符和匹配位置。环视我个人理解应该更像是匹配位置的。具体下文说到。下面先看一下环视的正则表达式书写格式。 本表摘自《精通正则表达式》p66 你要是觉得我会按照上面的表格来理解你就错了,看完上面的表格我是一脸懵逼的,用的时候更加会一脸懵逼,然后把书本中p66页前面的几页再 ...
分类:
其他好文 时间:
2017-07-14 14:49:27
阅读次数:
171
环视的英文叫做lookaround,这是在“精通正则表达式”一书中的叫法。在不同的书籍跟文档中,它又被叫做“断言”,“前视”,“预搜索”等。环视分为以下几种。 顺序肯定环视。表示所在位置右侧能够匹配Expression。在python中为string(?=Expression),在vim中为/str ...
分类:
其他好文 时间:
2017-06-25 10:14:41
阅读次数:
127
圆括号()是组,主要应用在限制多选结构的范围/分组/捕获文本/环视/特殊模式处理示例:1、(abc|bcd|cde),表示这一段是abc、bcd、cde三者之一均可,顺序也必须一致2、(abc)?,表示这一组要么一起出现,要么不出现,出现则按此组内的顺序出现3、(?:abc)表示找到这样abc这样一 ...
分类:
其他好文 时间:
2017-02-18 13:25:12
阅读次数:
206
小美回来了,儿子提出的划船计划也在今天也实现了,天公作美,午后的阳光和煦,温暖如春,在码头的摇摇椅上稍作停留后,我们坐上了一艘天鹅号自动小艇开启了我们的东湖游船记。 小美的家乡因东湖而变得时尚、健康,几年前的一个储水湖在经过持续的改造后变成了一个湿地公园,广场,小区,健康走道,各类绿植环湖而建,将小 ...
分类:
其他好文 时间:
2017-01-27 07:09:04
阅读次数:
242
断言用来声明一个应该为真的事实。正则表达式中,只有当断言为真时才会继续进行匹配。断言匹配的是一个事实,而不是内容。本文介绍四个断言,它们用于查找在某些内容(但并不包括这些内容)之前或之后,也就是一个位置(如\b、^、$)应该满足的一定条件(即断言),因此也称为..
分类:
其他好文 时间:
2016-11-30 17:52:44
阅读次数:
613
环视是一种非捕获分组,它根据某个模式之前或之后的内容匹配其他模式。环视也称为零宽度断言。 环视包括: 正前瞻 反前瞻 正后顾 反后顾 正前瞻假设要匹配单词ancyent,且要求紧跟的单词是marinere,可以使用正前瞻。 ...
分类:
其他好文 时间:
2016-11-02 20:57:52
阅读次数:
144
设想一下这个问题,假设为了方便长串数字的阅读性,需要为其添加逗号作为分隔,需要怎么做呢? 2569836495 =》 2,569,836,495 正则表达式的匹配通常是从左往右的,这导致无法使用类似[\d]{3}这样的方法去解决问题,因为数字是从右边结算的 用s/([\d]{3})/$1,/g处理上 ...
分类:
其他好文 时间:
2016-10-29 16:34:05
阅读次数:
265
4种环视 顺序肯定环视(?=pattern) 逆序肯定环视(?<=pattern) 顺序否定环视(?!pattern) 逆序否定环视(?!<pattern) 注意 环视是不会占用物理匹配的 顺序肯定环视的2种用法 环视在左表达式在右:二次筛选匹配 表达式在右环视在左:以表达式环视结尾 如:字符aa1 ...
分类:
其他好文 时间:
2016-09-23 19:47:55
阅读次数:
156
在《深入理解正则表达式高级教程-环视》中已经对环视做了简单的介绍,但是,可能还有一些读者比较迷惑,今天特意以专题的形式,深入探讨一下正则表达式的环视的概念与用法。 在《深入理解正则表达式高级教程-环视》中已经对环视做了简单的介绍,但是,可能还有一些读者比较迷惑,今天特意以专题的形式,深入探讨一下正则 ...
分类:
其他好文 时间:
2016-09-11 06:48:26
阅读次数:
320