首页 新闻 会员 周边

请对PHP正则表达式熟悉的朋友给一个正则!

0
悬赏园豆:20 [已解决问题] 解决于 2012-03-16 12:31

匹配一个字符串,其规则为:12,5,6,62,35,即数字与英文逗号相间

psforever的主页 psforever | 菜鸟二级 | 园豆:461
提问于:2012-03-04 19:31
< >
分享
最佳答案
0

这个正则表达式符合你的要求,就是匹配出逗号和英文相间的字符串。

(\d+,)*\d+
收获园豆:10
LCM | 大侠五级 |园豆:6876 | 2012-03-05 09:04
其他回答(1)
0

不知道看懂了你的问题没,看个Javascript 版本的正则:

var c = '12,5,6,62,35,';
var r = /\d{1,},/ig;
c.match(r)
Output:

["12,", "5,", "6,", "62,", "35,"]
收获园豆:10
sunshaozong | 园豆:325 (菜鸟二级) | 2012-03-05 11:35

不好意思,我的意思就是说判断一个字符串是否符合 $str = '5,98,43,6';类似这样的规则。

这个字符串串可以只是一个数字,也可以使数字与英文逗号符相间。

支持(0) 反对(0) psforever | 园豆:461 (菜鸟二级) | 2012-03-05 11:40

@psforever:  这样来:

var r = /[^\d,]/;

var c = "1,2,4,5,8,9.10";

if (r.test(c))
{ alert('不匹配');}
else {alert('匹配了');}

这个正则有个bug: 如果全是逗号, 也会匹配成功。 解决办法是,  在用正则匹配前先过滤下是否全逗号?

支持(0) 反对(0) sunshaozong | 园豆:325 (菜鸟二级) | 2012-03-05 11:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册