正则表达式断言、断言、正断言和反向断言

正则表达式断言、断言、正断言和反向断言
断言(断言),正则表达式的概念是很难理解的,它通常是指一种测试电流匹配位置目标字符串但本试验不占用目标字符串,不在当前匹配位置目标字符串移动模式。可以看到详细的讨论并分析了正则表达式匹配分析过程(正则表达式匹配原则),指的是零宽度与多元的特点,但只有匹配的特殊位置。它们可以被理解为断言。

断言元字符

常见的断言元字符: B,B, ,Z,Z,^,他们只代表一个特殊的位置,每一个都具有一个字符串AB,和乐队的位置表示为0a1b2。
元字符
含义(如上面的位置字符串所示)

^
首先,第一个字符串指示0个位置。
美元
在字符串的末尾,尾部位置为2。
◎B
词的分界线可以表述为:0位置
◎B
可以表示1位置的非词边界。

在年初的目标(独立的多行模式)代表的位置0
◎Z
最后的目标或终点的线端(独立的多行模式)代表的位置2
◎Z
最终目标的(在MULTILINE模式独立)代表的位置2
◎G
目标中的第一个匹配位置
a、z、z、g很少使用。
这些断言的测试是基于当前位置的测试,断言也支持更复杂的测试条件。它包括第一(向前)(预测先行断言)并维护(对)(后向断言),这些断言断言不匹配的判断条件,记录的匹配结果不匹配的字符。

第一个断言,肯定断言,向前游(预测先行断言)

第一个断言经常表示(=模式),从当前匹配位置开始,测试是否匹配字符串,以及(或模式)两种格式。让我们举个例子。来源:abc100字符串,正则表达式是:

/ { A-Z } +(= D +) /,我们分析以下过程如下:
首先,控制是通过正则表达式字符a-z } { +,相匹配的字符:ABC,和位置相匹配,从0到3。检验/ D +设置从这个位置。匹配字符100和回形。所以正则表达式来断言返回的字符串匹配的ABC。

(!模式)是一个积极的比赛,当没有匹配成功的背后,它会返回true。以下是系统源字符串:abc100,试验结果如下:
背线的论断,反断言,反巡逻(lookbehind说法)

常用的表达式是:(<模式)或< <!模式)格式。在正则表达式中,没有一个固定长度的量词,并有可能成为一个死循环。错误匹配。这表明匹配的字符将出现在当前位置的左侧,然后返回true,和后来的比赛是正常的。因为如果它出现在左边的默认的位置从0开始,和比赛失败。一般来说,下面的正则表达式的开始比赛,然后原路返回到匹配是匹配的。让我们看看以下例子:源字符串:abc100 + =,正则表达式是:(<= W W)+匹配过程如下:
首先,权利由正则表达式字符 / W /得到了控制,匹配的字符:abc100,位置匹配0、和匹配匹配6个字符。左- W比赛未能检测到从位置0。所以 / w+ /开始匹配字符B bc100,这是基于字符的左侧的测试,和反向的断言是正确的。所以匹配的字符串bc100,(<!模式,就是没有一场比赛是成功的,其他一切都是一样的!

结语:我们发现搜索的特征是从左到右,一般的向前断言放在正则表达式后面,反向断言放在匹配正则表达式之前,但是它也可以放在前面或后面。这里没有更多的例子。欢迎交流讨论!
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部