他的正向预查,与负向预查的概念 
说的详细点

解决方案 »

  1.   

    正则表达式有正向预查和负向预查两种;
    首先不得不提到'?:' 元字符,还有两个非捕获元是?=和?!,一个为正向预查, 用?= 表示, 在任何开始匹配圆括号内的正则表达式模式的位置来匹配搜索字符串。如(?=pattern)是正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。一个为 负向预查,用'?!' 表示,在任何开始不匹配该正则表达式模式的位置来匹配搜索字符串。如(?!pattern)是负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。
    负向预查有时会用在对[^]的扩充,[^]只是一些字符,而?!可以使整个字符串。 
      

  2.   

    给楼主推荐一篇不错的文章
    http://dev.csdn.net/article/70/70436.shtm