【问题标题】:Regex of numbers and commas in correct fomat for PHP appPHP应用程序格式正确的数字和逗号正则表达式
【发布时间】:2011-06-18 19:40:27
【问题描述】:

我的 php 应用程序需要一个正则表达式,以确认用户以逗号分隔的数字格式输入了文本。例如:

1,2
1,2,3
6,4,5,3,2,1

不能有其他字符,只能是数字和逗号。

谢谢你, 标记

【问题讨论】:

标签: php regex


【解决方案1】:

这个正则表达式应该这样做:(\d+,)*\d+

说明:

\d+             One or more consecutive digits
\d+,            ...followed by a comma
(\d+,)*         ...and all of the above repeated zero or more times
(\d+,)*\d+      ...and finally ending with one or more digits

此表达式不允许在最后一个数字之后、第一个数字之前或多个连续逗号之前添加“额外”逗号。

【讨论】:

  • PHP 给我警告:preg_match() [function.preg-match]: Unknown modifier '*' in ....
  • @user390480:preg_match 和 co 的正则表达式。需要夹在两个相同的字符之间(您的选择,但通常使用/)并正确转义。例如:preg_match('/(\\d+,)*\\d+/', ...)
【解决方案2】:

我相信这是您正在寻找的正则表达式:\d+(,\d+)*

它的优点是可以匹配一个不带逗号的数字,或者一个逗号分隔的不带逗号的数字列表。

【讨论】:

  • 这与之前的答案有什么不同?
  • 不是。我相当肯定我在看到当前接受的答案之前写了上面的答案。这是大约 6 年前的事了,所以我不太记得了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多