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。