我有以下正则表达式
\d{2,4}\-\d{6,8}
但是当连字符之前匹配 4 位数字时,是否可以只匹配连字符之后的 6 位数字。即,我只想匹配以下情况:
XX-XXXXXXXX
XXX-XXXXXXX
XXXX-XXXXXX
其中 X 是数字。
最佳答案
您可以做的是验证总长度以及各个部分的长度:
^(?=[\d-]{11}$)\d{2,4}-\d{6,8}$
然而,在这种情况下,列出 3 个替代方案似乎更简单,正如 Wiktor Stribiżew 所评论的那样。 :
^(?:\d{2}-\d{8}|\d{3}-\d{7}|\d{4}-\d{6})$
关于java - 正则表达式:从前一组匹配的出现次数中获取要匹配的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45462652/