首页 新闻 会员 周边

有关正则匹配问题

0
悬赏园豆:20 [已解决问题] 解决于 2010-11-18 11:07

   function execReg(reg, str) {
            var result = reg.exec(str);
            alert(result);
        }
        reg = /c*/;
        var str = 'sdfdfccc';
        execReg(reg, str);

这样写 为什么只能匹配到0个呢?不是null 而是空 c+就能把c全匹配 为什么呢...

飞魚的主页 飞魚 | 初学一级 | 园豆:150
提问于:2010-11-15 18:01
< >
分享
最佳答案
0

 /c*/的时候,就是说c是零个或者多个都可以,那就是说,没有c和有c都会匹配,他就会先匹配第零个字符串,发现符合匹配,那就是0处可以匹配

收获园豆:20
dodohua | 小虾三级 |园豆:1037 | 2010-11-15 22:07
其他回答(2)
0

当c*的时候匹配了6次,当c+的时候只匹配了一次。

可以用RegexBuddy 工具看下匹配细节。

wgz | 园豆:1254 (小虾三级) | 2010-11-15 19:41
0

是匹配到了,只是匹配到的字符串的长度为0,没匹配到是null

Gray Zhang | 园豆:17610 (专家六级) | 2010-11-16 10:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册