我怎样才能匹配这个字符串'-,-,-,9,-'?

How can I match this string '-,-,-,9,-'?

我被告知要像这样验证字符串 -,-,-,9,-

,隔开,包含1个数字(0-9),其他都是-

一些例子:

9,-,-,-,-

-,-,-,-,9

-,-,2,-,-

我该如何匹配呢?我应该学习正则表达式的哪些概念?

更新

怀念时代,抱歉,这个字符串只能包含5个部分,所以长度只能是9,这意味着像下面这样的字符串不应该被传递:

-,-,9,-,-,-

当然,它应该只有一个号码。

^(?=\D*\d\D*$)[0-9-](?:,[0-9-]){4}$

您可以尝试 this.See 演示。

https://regex101.com/r/nM7nT5/5

这确保字符串必须至少有一个逗号和一个数字。

^(?:\d(?:,-)+|-(?:,-)*,\d(?:,-)*)$

DEMO

^(?=\D*(?:^|,)\d(?:,|$)\D*$)[\d-](?:,[\d-])+$

DEMO