为什么 matcher.group 给我一个错误?

Why is matcher.group giving me an error?

我正在尝试编译以下 while 循环,但我在 group.matcher("...") 旁边的 eclipse 中不断收到一个红旗,表示要删除参数以便我匹配组。

我收到的错误如下:

类型 Matcher 中的方法 group(int) 不适用于参数 (String)

类型 Matcher 中的方法 group(int) 不适用于参数 (String)

类型 Matcher 中的方法 group(int) 不适用于参数 (String)

类型 Matcher 中的方法 group(int) 不适用于参数 (String)

类型 Matcher 中的方法 group(int) 不适用于参数 (String)

代码如下:

while (matcher.find()) {
        if (matcher.group(TokenType.NUMBER.name()) != null) {
            tokens.add(new Token(TokenType.NUMBER, matcher.group(TokenType.NUMBER.name())));
            continue;
        } else if (matcher.group(TokenType.BINARYOP.name()) != null) {
            tokens.add(new Token(TokenType.BINARYOP, matcher.group(TokenType.BINARYOP.name())));
            continue;
        } else if (matcher.group(TokenType.WHITESPACE.name()) != null)
            continue;
    }

因为我假设你使用 Java 6 或更低版本,所以 matcher.group 只接受一个 int 作为参数。如果您想使用 matcher.group(String) 将您的项目升级到 Java 7。请参阅 http://docs.oracle.com/javase/6/docs/api/java/util/regex/Matcher.html#group(java.lang.String)http://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html#group(java.lang.String)