正则匹配问题。[已经揭帖了,才发现问题根本没有解决,可怜我那20分啊]

episome 2004-01-06 09:27:40
$exp="0,1,2";//可以是 "0" 或者 "3" 等
也就是以数字开头,数字结尾,中间用是“,”分隔,如果只有1个数字,就没有分隔了。

请问怎么匹配。tks!


cloudchen(陈系上.net)回答:
/^\d(\,\d)*$/

现在发现:
1,不匹配"29".
2,匹配"29,"

我要头尾都是数字,多个数字可以用","隔开.
...全文
10 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
episome 2004-01-06
差不多了,多谢2位
回复
xuzuning 2004-01-06
那就改改
$s="3x9";
echo (preg_match("/^\d[\d,]+/",$expression.","))?1:2;

真不知道你要干什么?
回复
episome 2004-01-06
xuzuning(唠叨) 的有问题.

$s="3x9";
echo (preg_match("/^\d[\d,]*/",$expression))?1:2;
也是配配的.

正则啊,真是麻烦的东西.
回复
xuzuning 2004-01-06
$s = "0,1,2";
$s = "29";
$s = "29,";
preg_match("/^\d[\d,]*/",$s,$regs);
print_r($regs);

回复
cloudchen 2004-01-06


/^\d+(\,\d+)*$/
回复
episome 2004-01-06
$expression="023,,55";
echo (preg_match("^\d+(\,\d+)*$",$expression))?1:2;

提示:
Warning: No ending delimiter '^' found in G:\htdocs\_self\txtdb\debug.php on line 3

我用
echo (preg_match("/^[0-9\,]+[0-9]*$/",$expression))?1:2;
但是他匹配了"12,,34"和"34,56,"

回复
cloudchen 2004-01-06
^\d+(\,\d+)*$
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2004-01-06 09:27
社区公告
暂无公告