正则表达式以匹配无数个连字符和数字

时间:2018-07-02 22:58:28

标签: regex

我找不到正则表达式来匹配以下内容:

#1234
#1234-1234
#1234-1234-1234
#123524-12123534-123354
#1234-1234-1234-1234-1234-1234-1234

此正则表达式

/^#([0-9]+-[0-9+]+-[0-9+]+)|#(\d+)$/

匹配

#1234
#1234-1234-1234
#123524-12123534-123354

但是我想在用户可能输入的-873459无限个时间内执行此操作。我一直在寻找正则表达式中的电话号码,但这似乎没有用,因为它们最多只能有3个连字符。

以下是实际示例:https://regex101.com/r/yRSeI6/1

理想情况下,无论找到的是第1组,但这都可能要求很多。

1 个答案:

答案 0 :(得分:6)

您可以将正则表达式改写为一个或多个数字,后跟零个或多个连字符,再加上数字:

^#(\d+(?:-\d+)*)$

Try it out.