我在家庭作业中使用Java作为正则表达式。我试图匹配整数,但它们不能从零开始(除非它只是零)。我在使用此代码时遇到问题,它会编译,但它无法正确匹配任何多位数的整数(如44,52,23321等)。
"^[+|-]?[0{1}|([1-9][0-9]*)]$"
编辑:我找到了一个快速修复,我决定只创建一个if语句:
if(string.equals("0")) return "string is an integer";
答案 0 :(得分:1)
你非常接近。看起来您有[]
和()
混淆了。提示:第一位应为^[+-]?
。
答案 1 :(得分:1)
以下正则表达式可以解决这个问题:
"^[+-]?(0|[1-9][0-9]*)$"