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

标签 java compiler-construction compilation

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

我收到的错误如下:

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)

关于java - 为什么 matcher.group 给我一个错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29781720/

相关文章:

c# - 编译时出现 MonoTouch 错误:System.Boolean System.Type::op_Equality(System.Type,System.Type)

c++ - 我有一个预处理的 C/C++ 源文件 (cacti.i)。如何从这个 .i 文件生成可执行二进制文件,以便我可以像 ./cacti 一样运行它?

java - Apache HttpResponse 获取未格式化的字符串而不是 XML

c++ - "g++"和 "c++"编译器

c - 为什么未使用的变量不好?

compiler-construction - 是否可以用高级语言实现编译器?

ANT - 由于找不到符号,javac 编译失败

java - 为什么我无法使用链接列表实现从堆栈中弹出元素?

java - Printwriter 和 OutputStream 有什么区别

java - 找不到 Fragment 中的 RecyclerView - 空对象引用