如何在单个正则表达式中匹配葡萄牙车牌?

Fil*_*ido 6 regex

我正在构建一个正则表达式来验证葡萄牙车牌,但是旧的采用不同的格式,我想知道是否可以仅使用一个正则表达式来验证所有可能性?

这些是可能性,任何其他都是无效的(即:00-A0-00):

  • 00-00-AA
  • AA-00-00
  • 00-AA-00

目前,我只有这个工作:

([A-Z]){2}-([0-9]){2}-([0-9]){2}

daw*_*awg 4

这有效:

((?:[A-Z]{2}-\d{2}-\d{2})|(?:\d{2}-[A-Z]{2}-\d{2})|(?:\d{2}-\d{2}-[A-Z]{2}))
Run Code Online (Sandbox Code Playgroud)

演示

锚点更好(带m标志):

(^(?:[A-Z]{2}-\d{2}-\d{2})|(?:\d{2}-[A-Z]{2}-\d{2})|(?:\d{2}-\d{2}-[A-Z]{2})$)
Run Code Online (Sandbox Code Playgroud)

演示2