我想在php中创建一个正则表达式,以确保字符串是以下格式之一:
任何人都可以帮助我,不能思考任何人.
最简单的正则表达式是 \d+(,\d+)*
\d+
- 匹配0 - 9的数字(,\d+)*
- 匹配逗号和(如上所述)0到9之间的数字.*表示可能有0次或更多次出现如果你需要限制为3次重复,那么这将工作正常: \d+(,\d+){0,2}
(,\d+){0,2}
- 匹配逗号和(如上所述)0到9之间的数字.{0,2}表示最多可能有2次出现(请记住第一次\d+
将匹配第一个整数)编辑
您在注释中描述的问题是使用的PHP函数执行搜索而不是完全匹配.
preg_match
- 搜索主题与模式中给出的正则表达式匹配.
所以正则表达式很好.但是对于preg_match
功能它应该是
preg_match('/^\d+(,\d+)*$/')
- 第一次正则表达式preg_match('/^\d+(,\d+){0,2}$/')
- 第二次正则表达式^
匹配你的刺痛(主题)的开头,并$
匹配你的字符串的结尾.