Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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 使用正则表达式验证int,我的方法行不通_Java_Regex_String - Fatal编程技术网

Java 使用正则表达式验证int,我的方法行不通

Java 使用正则表达式验证int,我的方法行不通,java,regex,string,Java,Regex,String,我想确保字符串是合法的整数。这意味着它必须是一个没有..的数字。。但是,在开始时以及在法定值之后都允许使用空格。以下例子说明: "53" - good. "5 " - good. " 5" - good. "5 3" - bad 我尝试了\\d |-\\d | \\d |-\\d+您可以尝试以下方法: ^\\s*([+-]?\\d+)\\s*$ ^匹配字符串的开头 \\s*表示任何尾随空格 [+-]?说明可能的迹象 $确保它是字符串的结尾 正如@Dukeling所指出的,如果使用匹配项,则不

我想确保字符串是合法的整数。这意味着它必须是一个没有..的数字。。但是,在开始时以及在法定值之后都允许使用空格。以下例子说明:

"53" - good.
"5 " - good.
" 5" - good.
"5 3" - bad
我尝试了\\d |-\\d | \\d |-\\d+

您可以尝试以下方法:

^\\s*([+-]?\\d+)\\s*$
^匹配字符串的开头

\\s*表示任何尾随空格

[+-]?说明可能的迹象

$确保它是字符串的结尾

正如@Dukeling所指出的,如果使用匹配项,则不需要锚定“^”和$。

您可以尝试以下方法:

^\\s*([+-]?\\d+)\\s*$
^匹配字符串的开头

\\s*表示任何尾随空格

[+-]?说明可能的迹象

$确保它是字符串的结尾


正如@Dukeling所指出的,如果使用匹配项,则不需要锚定“^”和$。

是否必须使用正则表达式?您可以使用Integer.parseIntmyString并捕获NumberFormatException


你必须使用正则表达式吗?您可以使用Integer.parseIntmyString并捕获NumberFormatException


假设您使用匹配项,^和$是不需要的。假设您使用匹配项,^和$是不需要的。那么5,好还是坏呢?那么5,好还是坏呢?问题是使用正则表达式验证..@fGo:这就是标题,但问题的症结似乎是:我想确保字符串是合法的int,并且正则表达式不是剥猫皮的唯一方法。它实际上删除了下面的所有内容,包括代码点U+0020,这意味着它删除了大部分控制字符和空格ASCII 32,但问题的症结似乎是:我想确保字符串是合法的int,并且正则表达式不是剥猫皮的唯一方法。它实际上删除了下面的所有内容,包括代码点U+0020,这意味着它删除了大部分控制字符和空格ASCII 32。