[ab]*和(a*|b*)的异同

(a*|b*) 允许a*或者b*的匹配,能匹配若干的a或者若干的b,但不能匹配ab的混合。

相反,[ab]*能后匹配任意多个[ab],对于字符串abb,它可以匹配3次,第一次是a,后两次是b

在逻辑上[ab]*与(a|b)*是等价的,但是前者的效率通常要高一些

 

如果我想匹配aaaaaa或者bbbbbb,但是用(a*|b*)就可以了,如果我想匹配任意的这种连续字符呢?

比如匹配

aaaaa   bbbbb       ffffffffff          jjjjjjj等等

可以这样

(\w)\1+  反向引用,这样可以匹配任意连续的字符

 

posted @ 2013-06-12 10:25  sunsweet  阅读(626)  评论(0)    收藏  举报