【发布时间】:2011-06-18 19:40:27
【问题描述】:
我的 php 应用程序需要一个正则表达式,以确认用户以逗号分隔的数字格式输入了文本。例如:
1,2
1,2,3
6,4,5,3,2,1
不能有其他字符,只能是数字和逗号。
谢谢你, 标记
【问题讨论】:
我的 php 应用程序需要一个正则表达式,以确认用户以逗号分隔的数字格式输入了文本。例如:
1,2
1,2,3
6,4,5,3,2,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
此表达式不允许在最后一个数字之后、第一个数字之前或多个连续逗号之前添加“额外”逗号。
【讨论】:
preg_match 和 co 的正则表达式。需要夹在两个相同的字符之间(您的选择,但通常使用/)并正确转义。例如:preg_match('/(\\d+,)*\\d+/', ...)
我相信这是您正在寻找的正则表达式:\d+(,\d+)*。
它的优点是可以匹配一个不带逗号的数字,或者一个逗号分隔的不带逗号的数字列表。
【讨论】: