码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2015-06-24 18:28:43      阅读:125      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!