标签: regex preg-match regex-negation
我被告知要验证字符串-,-,-,9,-
-,-,-,9,-
它由,分隔,包含1个数字(0-9),其他都是-
,
-
一些例子:
9,-,-,-,-
-,-,-,-,9
-,-,2,-,-
我该如何匹配?我应该在正则表达式中学到什么概念?
更新
我想念时间,对不起,这个字符串只能包含5个部分,所以长度只能是9,这意味着下面的字符串不应该通过:
-,-,9,-,-,-
当然,它应该只有一个数字。
答案 0 :(得分:2)
^(?=\D*\d\D*$)[0-9-](?:,[0-9-]){4}$
你可以尝试一下。参见演示。
https://regex101.com/r/nM7nT5/5
答案 1 :(得分:2)
这确保字符串必须至少包含一个逗号和一个数字。
^(?:\d(?:,-)+|-(?:,-)*,\d(?:,-)*)$
DEMO
或强>
^(?=\D*(?:^|,)\d(?:,|$)\D*$)[\d-](?:,[\d-])+$