Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式匹配无限多个连字符,后跟数字_Regex - Fatal编程技术网

Regex 正则表达式匹配无限多个连字符,后跟数字

Regex 正则表达式匹配无限多个连字符,后跟数字,regex,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 但我希望用户可以输入无限数量的-873459s。我一直在查看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
s。我一直在查看regex中的电话号码,但似乎没有,因为它们的上限是3个连字符

下面是一个实际的例子:


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

您可以将正则表达式重新表述为一个或多个数字,后跟零个或多个连字符,后跟数字:

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

您可以将正则表达式重新表述为一个或多个数字,后跟零个或多个连字符,后跟数字:

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

这样可以吗<代码>^#((?:\d+-?)+)$如果没有,为什么?如果可以的话,我可以把它分解成一个答案。你为什么需要两个破折号?@zzxyz,它看起来不像
#1234-
应该是有效的输入,所以我认为这不起作用。@Aankhen-啊,这样行吗<代码>^#((?:\d+-?)+)$如果没有,为什么?如果可以的话,我可以把它分解成一个答案。为什么你需要两个破折号?@ ZXYZ,它看起来不像<代码> 1234。-/COD>被认为是有效的输入,所以我认为这是行不通的。抢手货这也符合<> > > -<代码>,我没有考虑过。抢手货