java正则表达式(十)

摘要:
=Exp)也被称为零宽度正预测第一断言,它断言表达式Exp可以在其出现的位置前面匹配=Ing b),匹配以Ing结尾的单词的前半部分,例如在你准备时找到I'msengingIt将匹配sing和danc,当˂=\Br e)w+b将匹配以re开头的单词的后半部分时。例如,当搜索readingabook时,它匹配eading(?!d)并匹配三位数字,并且三位数字后面不能跟数字;\B((?!abc)w)+B匹配不包含连续字符串abc的单词。[a-z])d{7}匹配前面没有小写字母的七个数字。

十、零宽断言

接下来,我们讲解正则表达式中的高级技术:零宽断言

(?=exp)也叫零宽度正预测先行断言,它断言自身出现的位置的前面能匹配表达式exp。比如\b\w+(?=ing\b),匹配以ing结尾的单词的前面部分(除了ing以外的部分),如查找I'm singing while you're dancing.时,它会匹配singdanc。

(?<=exp)也叫零宽度正回顾后发断言,它断言自身出现的位置的后面能匹配表达式exp。比如(?<=\bre)\w+\b会匹配以re开头的单词的后半部分(除了re以外的部分),例如在查找reading a book时,它匹配ading

(?!exp)也叫零宽度负预测先行断言,它断言此位置的后面不能匹配表达式exp。例如:\d{3}(?!\d)匹配三位数字,而且这三位数字的后面不能是数字\b((?!abc)\w)+\b匹配不包含连续字符串abc的单词

(?<!exp)也叫零宽度负回顾后发断言,它断言此位置的前面不能匹配表达式exp(?<![a-z])\d{7}匹配前面不是小写字母的七位数字

 

免责声明:文章转载自《java正则表达式(十)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇namp命令详解Innodb日志与事务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

eclipse使用正则表达式查找文件内容

今天有个需求,查找工程中包含汉字的所有文件,随即想到利用eclipse的search功能配合正则表达式。 在eclipse中Ctrl+H,然后在Containing text中输入[u4e00-u9fa5],勾选Regular expression。 就可以查找工程中包含汉字的文件了。...

c# 正则表达式 匹配回车

1 "." 匹配除 " " 之外的任何单个字符,一般用".*?"匹配不包括回车的任意字符。 2 我们在用正则表达式分析html或者是xml的时候,会碰上要匹配的目标字符串含有回车换行的情况,这时候我们就不能试用 “.*?”匹配了(除非你先把字符串中的回车换行去掉)。我们应该用 "[\s\S]" 来代替 "."。 一般都会匹配形如:A任意字符B这样的模式,所...

JS邮箱验证-正则验证

<form action="">输入:<input type="text" name="mazey" placeholder="请输入邮箱"><input type="button" value="验证" onclick="check();"></form> <script>function ch...

正则表达式(一)

一、简介 正则表达式这个名词,相信很多人都听说过,这个名词最早起源于1956 年, 一位叫 Stephen Kleene 的美国数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。 随后,发...

【Python教程】 re 模块中findall() 函数返回值展现方式的用法详解

findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 注意: match 和 search 是匹配一次 findall 匹配所有,match 和 search 的区别也很大,可以自行网上查找! 这里主要需要讨论的是其返回值的展现方式,即findall函数根据正则表达式的不同所返回的结果包含的不...

转载(正则表达式的分类) 规格严格

正则引擎主要可以分为两大类:一种是DFA,一种是NFA。这两种引擎都有了很久的历史(至今二十多年),当中也由这两种引擎产生了很多变体!于是POSIX的出台产生规范了不必要变体的继续产生。这样一来,目前的主流正则引擎又分为3类:一、DFA,二、传统型NFA,三、POSIX NFA。 DFA 引擎在线性时状态下执行,因为它们不要求回溯(并因此它们永远不测试相同...