9 个数字字符和两个连字符(可选)的正则表达式

本文关键字:可选 正则表达式 连字符 数字字符 两个 | 更新日期: 2023-09-27 18:32:59

我正在寻找一个正则表达式来匹配 9 个数字字符和可选的 1 或 2 个连字符。连字符的位置无关紧要。我能够让正则表达式有一个连字符:

^([0-9]{9}|(?=^[^-]+-[^-]+$)[0-9-]{10})$

如何修改它以包含另一个连字符?

9 个数字字符和两个连字符(可选)的正则表达式

应该可以做到

^(?!([^-]*-){3,})(?=('D*'d'D*){9}$)['d-]+$
 ---------------  ----------------
         |              |->match only if there are 9 digits
         |
         |->don't match if there are 3 or more -

以下内容使用前瞻并确保它符合由 0-2 个连字符组成的数字的规则。

(?=^'d*-?'d*-?'d*$)^-*('d-*){9}$