繁体   English   中英

php 使用正则表达式验证模式

[英]php validate a pattern with regex

我尝试验证像123*5000这样的模式。 该图案有 3 个部分。

首先,[123] 必须包含三位数的唯一编号。 第二个是* ,第三个是 5000,必须是 integer,不是唯一的就可以。

如果模式是223*443 ,它将返回 false(第一部分 223,编号 2,它不是唯一的)。

如果模式是908*22 ,它将返回 true (第一部分包含唯一数字,第二部分是* ,第三部分是整数)。

如果模式是34*5000 ,它将返回 false(第一部分仅包含 2 个数字),等等。

我尝试正则表达式\^[0-9][0-9][0-9][*][0-9]+$\但它没有解决必须包含唯一编号的第一部分模式。

谁能帮我?

您可以将模式编写为:

^(?!\d*(\d)\d*\1)\d{3}\*\d+$

模式匹配:

  • ^字符串开头
  • (?!\d*(\d)\d*\1)负前瞻,断言不是 2 个相同的数字
  • \d{3}\*\d+匹配 3 个数字,然后是*和 1 个或多个数字
  • $字符串结尾

查看正则表达式演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM