我正在尝试编译以下 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/