我需要一个用于php的正则表达式模式。它只接受以下两种模式。
XXXX-XXXX-2
XXXX-XXX-3
这里,X =数字
例如,它会接受,
1111-1111-2
1234-567-3
7894-753-2
5287-6325-3
但它不会接受,
526-5248-2
7895-4125-1
7854-856-4
asas-wewe-y
等等。
这种模式的正则表达式是什么?
答案 0 :(得分:5)
这将有效
^\d{4}-\d{3,4}-[23]$
<强> Regex Demo 强>
正则表达式细分
^ #Start of string
\d{4} #Match 4 digits
- #Match - literally
\d{3,4} #Match 3 or 4 digits
- #Match - literally
[23] #Match 2 or 3
$ #End of string
答案 1 :(得分:2)
有多种方法可以实现。这是一种方法:
^\d{4}-\d{3,4}-(2|3)$
\d
将匹配任何数字{4}
将确保匹配4次-
将与连字符\d
将匹配任何数字{3,4}
将匹配数字3或4次-
将与连字符(2|3)
将匹配2 OR 3 您可以在线测试: