正则表达式中的正/反向预查

原创
2011/07/07 17:00
阅读数 4.2W

正向或反向预查都是非获取匹配,不进行存储供以后使用。javascript不支持反向预查

测试的文本:

Java6 Java7

1、正向预查

(?:pattern) 匹配结果。Java(?:6|7)等效于Java6|Java7,结果Java6 Java7

(?=pattern) 正向匹配。Java(?=6),匹配后面跟着6的Java,即第一个Java,结果Java6 Java7

(?!pattern) 正向不匹配。Java(?!6),匹配后面不跟着6的Java,即第二个Java,结果Java6 Java7

2、反向预查

(?<=pattern) 反向匹配。(?<=J)a,匹配紧跟字母J后面的a,结果Java6 Java7

(?<!pattern) 反向不匹配。(?<!J)a,不匹配紧跟字母J后面的a,结果Java6 Java7

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
7 收藏
6
分享
返回顶部
顶部