首页 > 其他 > 详细

正则表达式

时间:2015-06-24 18:28:38      阅读:213      评论:0      收藏:0      [点我收藏+]

最近需要使用正则表达式的非捕获,记录一下自己的理解,可能不全面。

(?=X) X,通过零宽度的正 lookahead  
(?!X) X,通过零宽度的负 lookahead
(?<=X) X,通过零宽度的正 lookbehind
(?<!X) X,通过零宽度的负 lookbehind

零宽带 说明了不会捕获,但可能有例外。

正、负 应该是针对断言来说的,(?=X)  、(?<=X)为正,(?!X) X、(?<!X) X 为负。

例外:

Pattern compile = Pattern.compile(".{3}(?=a)");

Matcher matcher = compile.matcher("444a66b");

while (matcher.find())
{
System.out.println(matcher.group());
}

结果为:444

 

但如果为.{3}(?=a) 改成(?=a).{3}

结果为:a66

 

正则表达式

原文:http://www.cnblogs.com/wujiexiang/p/4598263.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!