正则表达式模式无法弄清楚

Sal*_*yon -6 php regex

我需要一个PHP的正则表达式模式.它只接受以下两种模式.

XXXX-XXXX-2
XXXX-XXX-3
Run Code Online (Sandbox Code Playgroud)

这里,X =数字

例如,它会接受,

1111-1111-2
1234-567-3
7894-753-2
5287-6325-3
Run Code Online (Sandbox Code Playgroud)

但它不会接受,

526-5248-2
7895-4125-1
7854-856-4
asas-wewe-y
Run Code Online (Sandbox Code Playgroud)

等等.

这种模式的正则表达式是什么?

roc*_*987 5

这会奏效

^\d{4}-\d{3,4}-[23]$
Run Code Online (Sandbox Code Playgroud)

正则表达式演示

正则表达式细分

^ #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
Run Code Online (Sandbox Code Playgroud)