我的案例是Php Regexp

Pri*_*oor 0 php regex

我想在php中创建一个正则表达式,以确保字符串是以下格式之一:

  • 仅整数示例:1122
  • 整数,整数示例:88,99
  • 整数,整数,整数示例:88,99,19

任何人都可以帮助我,不能思考任何人.

Tom*_*Tom 6

最简单的正则表达式是 \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}$/') - 第二次正则表达式

^匹配你的刺痛(主题)的开头,并$匹配你的字符串的结尾.