似乎我再次陷入了一个简单的正则表达式.
我想要的是什么:
允许:
100
999,0
999,999
999,99不允许:
-1
0
999,
999,9999
这是我到目前为止:
^[0-9]{1,3}(?:\,[0-9]{1,3})?$
Run Code Online (Sandbox Code Playgroud)
有小费吗?
这个正则表达式应该工作:
^[1-9]\d{0,2}(?:,\d{1,3})?$
Run Code Online (Sandbox Code Playgroud)
这是解释:
^[1-9]
:它应该以1到9之间的数字开头
\d{0,2}
:后跟最小0,最大2位数(0-9)
(?:,
:后面跟一个逗号
\d{1,3})?
:如果有逗号,则后跟一到三位数字
$
: 行结束
感谢@ dev-null获取此链接:解释
你可以使用这个正则表达式:
/^[1-9]\d{0,2}(?:\,\d{1,3})?$/
Run Code Online (Sandbox Code Playgroud)
与OP的正则表达式的主要区别在于[1-9]
,在正则表达式的其余部分之前使用匹配数字1到9.