[英]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.