Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 如何在正则表达式模式中包含某些字符?_Java_Regex - Fatal编程技术网

Java 如何在正则表达式模式中包含某些字符?

Java 如何在正则表达式模式中包含某些字符?,java,regex,Java,Regex,我需要一点帮助。这是我第一次使用正则表达式 因此,我想确保用户只能输入一个数字和另外两个字符-句号和逗号, 每当用户输入带有如下字母的数字时,100A1,它就会输出“错误的输出”,这很好,这正是我想要的。但是,如果用户输入12.10或10000或10000.50,程序也会输出“错误输出” 我没有正确理解Pattern.matches()语法。如果你能帮助我,我将不胜感激。多谢各位 if(!Pattern.matches([0-9]+”,stringUserInput)){ System.out.

我需要一点帮助。这是我第一次使用正则表达式

因此,我想确保用户只能输入一个数字和另外两个字符-句号
和逗号

每当用户输入带有如下字母的数字时,
100A1
,它就会输出“错误的输出”,这很好,这正是我想要的。但是,如果用户输入
12.10
10000
10000.50
,程序也会输出“错误输出”

我没有正确理解Pattern.matches()语法。如果你能帮助我,我将不胜感激。多谢各位

if(!Pattern.matches([0-9]+”,stringUserInput)){
System.out.println(“错误输入”);
}

此正则表达式应在以下情况下工作:

\b[0-9,.]+\b


其中:

\b
-单词边界

[…]+
-匹配方括号中的任何字符1次或多次

0-9
-数字0到9

-逗号

-期间


当我开始学习正则表达式的时候,我曾经做过实验。它有一个有用的特性,可以解释正则表达式的作用

希望这有帮助


编辑:如果使用Java编写,可能需要转义反斜杠字符。因此最终结果应该是:
\\b[0-9,.]+\\b

它只是检查字符串是否包含0到9。但是如何确保正则表达式也检查逗号和句点呢?比如它的语法是什么!Pattern.matches(“[0-9[,&&&.]]+”,stringUserInput)??抱歉,我以前从来没有使用正则表达式。在这种情况下,使用正则表达式可能不是正确的,应该考虑使用。因为模式也会匹配一些错误的输入。例如,大多数模式将匹配
1000.0,01
作为有效输入,但显然不匹配。