我想确保一个字符串是一个合法的 int
。这意味着它必须是一个数字(没有“.”)。但是,在合法值的开头和之后都允许使用空格。以下举例说明:
"53" - good.
"5 " - good.
" 5" - good.
"5 3" - bad
我试过 (\\d|-\\d|\\d| -\\d)+
最佳答案
你可以试试这个:
^\\s*([+-]?\\d+)\\s*$
^
匹配字符串的开头,
\\s*
包含所有尾随空格,
[+-]?
解释可能的符号
$
确保它是字符串的末尾。
正如@Dukeling 所指出的,如果您使用matches()
,则不需要 anchor (^
和$
)。
关于java - 使用正则表达式验证 int,我的方法不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16812664/