Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 验证逗号分隔的数字(最多1000个,但不是0个值)_Java_Regex - Fatal编程技术网

Java 验证逗号分隔的数字(最多1000个,但不是0个值)

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;之间: 看 锚点确保数字等于整个输入字符串 正则表达式匹配 ^-字符串的开头

我正在寻找一个正则表达式来验证从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;之间:

锚点确保数字等于整个输入字符串

正则表达式匹配

^-字符串的开头 ?: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})