我正在使用正则表达式检查字符串。
规则是:
字符串可以,
包含任何数字、连字符和逗号
连字符和逗号应该只在数字之间。它不应该在字符串的开头或结尾。
逗号是可选的。连字符是强制性的
例如,
有效的 :
10-20
10-20-3
10-20,3
无效的 :
10
-10
,10
10-20,
10-20-
10,20
到目前为止我尝试的代码:
[0-9,-]+
有人可以建议如何检查逗号和连字符不应该在字符串的开头或结尾以及上述条件吗?
试试这个表达式:
[0-9][0-9,-]*-[0-9,-]*[0-9]
这意味着字符串必须:
[0-9,-]
字符[0-9,-]
字符你应该试试这个
[0-9][0-9,\-]*-[0-9,\-]*[0-9]
我认为连字符需要在字符类中反斜杠
表达式应在开头和或结尾包含^
or ,否则表达式也会匹配无效字符串,例如:\A
$
\z
,10
20-
-34
所以表达式应该是:
^[0-9][0-9,-]*-[0-9,-]*[0-9]$