Java 验证逗号分隔的数字(最多1000个,但不是0个值)
我正在寻找一个正则表达式来验证从1到1000的数字,逗号只包括1000和任何其他输入,如0、2000、100.9,所以它应该抛出错误 我尝试使用:Java 验证逗号分隔的数字(最多1000个,但不是0个值),java,regex,Java,Regex,我正在寻找一个正则表达式来验证从1到1000的数字,逗号只包括1000和任何其他输入,如0、2000、100.9,所以它应该抛出错误 我尝试使用: Regex = "[0-9]+(,[0-9]+)" 但是它失败了100200,为了匹配从1到1000的整数,你可以使用 ^(?:1,000|[1-9][0-9]{0,2})$ 或者,要将较大字符串中的单独数字与单词边界匹配\b: 如果数字可能出现在字母、其他数字或u2;之间: 看 锚点确保数字等于整个输入字符串 正则表达式匹配 ^-字符串的开头
Regex = "[0-9]+(,[0-9]+)"
但是它失败了100200,为了匹配从1到1000的整数,你可以使用
^(?:1,000|[1-9][0-9]{0,2})$
或者,要将较大字符串中的单独数字与单词边界匹配\b:
如果数字可能出现在字母、其他数字或u2;之间:
看
锚点确保数字等于整个输入字符串
正则表达式匹配
^-字符串的开头
?:1000 |[1-9][0-9]{0,2}-2备选方案:1000或[1-9][0-9]{0,2}:
[1-9]-从1到9的数字
[0-9]{0,2}-0或0到9之间的2位数字
$-字符串结尾
为什么要使用正则表达式来验证这一点?你能展示一下你的代码吗?其他有效值和无效值是什么?从1到1000它应该接受所有的值;匹配器匹配器;最后一个字符串num_模式=[1-9]00,[1-9]00;好的,我想你在找?:1000 |[1-9][0-9]{0,2}。或^?:1000 |[1-9][0-9]{0,2}$用于检查单个字符串。如果不需要匹配1000,请将其从正则表达式中删除。
\b(?:1,000|[1-9][0-9]{0,2})\b
(?:1,000|[1-9][0-9]{0,2})