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

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

请问怎么匹配。tks!


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

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

我要头尾都是数字,多个数字可以用","隔开.
...全文
51 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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+)*$

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧