我有以下要求 用户可以输入多个值,分隔 例如10,20,30,35-40,45,50-55 //有效
User can enter multiple values - seprated
e.g. 10,20-30,35-40 //Valid
e.g. 10,20-30,35-40,-1000 //Invalid
我有以下RegEx
^
(?:
(?:[0-9]?\d|[0-9])(?:-[0-9]?\d|[0-9])?
)
(?:
,(?:[0-9]?\d|[0-9])(?:-[0-9]?\d|[0-9])?
)*
$
I am validating following value
10,20-30,35-40 Valid
01-50, invalid
50 Valid
500 Valid
40-50,50-60,5,50 Valid
40-50,1234-4567 Invalid (Expected: this should be valid)
5-50 Valid
5,80 Valid
8,71 Valid
test and lol Invalid
08,60 Valid
请帮我写正确的正则表达式以获得正确的输出。
答案 0 :(得分:2)
您可以使用此正则表达式
^\d+([,-]\d+)*$
+
是一个量词,它将前面的组或字符 1 多次匹配..
*
是一个量词,它将前面的组或字符 0 多次匹配..
[xyz]
是一个匹配x 或 y 或 z的字符类