重复正则表达式优化



我有以下文本要匹配:

22536H34-TH65-GH32-HE762H23H982

和我的正则表达式如下:

https://regex101.com/r/XwNXZb/1

如何进一步优化?

如果您想用示例22536H34-TH65-GH32-HE762H23H982验证模式,您应该:

  • ^锚定字符串…$,否则像===22536H34-TH65-GH32-HE762H23H982===这样的字符串也会验证
  • 而不是w,使用一个字符类来拼写允许的字符,如[0-9A-Z]

下面是两个修改的组合:

^[0-9A-Z]{8}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{12}$

您可以进一步将中间的两个重复模式分组:

^[0-9A-Z]{8}-(?:[0-9A-Z]{4}-){2}[0-9A-Z]{12}$

最新更新