正则表达式为只有0的整数或任何不以0开头的数字

时间:2014-05-29 02:44:49

标签: java regex

我在家庭作业中使用Java作为正则表达式。我试图匹配整数,但它们不能从零开始(除非它只是零)。我在使用此代码时遇到问题,它会编译,但它无法正确匹配任何多位数的整数(如44,52,23321等)。

"^[+|-]?[0{1}|([1-9][0-9]*)]$"
编辑:我找到了一个快速修复,我决定只创建一个if语句:

if(string.equals("0")) return "string is an integer";

2 个答案:

答案 0 :(得分:1)

你非常接近。看起来您有[]()混淆了。提示:第一位应为^[+-]?

答案 1 :(得分:1)

以下正则表达式可以解决这个问题:

"^[+-]?(0|[1-9][0-9]*)$"
相关问题