import java.util.regex失败

时间:2012-01-09 15:50:29

标签: java regex import openjdk

我在尝试导入java.util.regex时遇到错误(特别添加了一行,以确定错误是在导入中,因为我之前只有导入java.util。*)。

find_glycopeps.java:5: cannot find symbol
symbol  : class regex
location: package java.util
import java.util.regex; // Should be redundant...
<some more messages about not recognising Pattern and Matcher, which are classes of the regex package>

据我所知,正则表达式是一个“核心”库。我假设,因为导入java.io. *的工作方式是跟踪库所在位置的本机方法,所以我很惊讶这是怎么发生的。

PS:我必须注意到我周末测试了一些java编译器,找到了我喜欢的1并且今天早上重新安装了一个'干净'的openjdk-6,这可能是问题源于但不确定的地方如何进行。

干杯

编辑(已解决):我现在肯定会羞于羞耻,谢谢大家指出这个真正愚蠢的错误

3 个答案:

答案 0 :(得分:14)

您的导入定义错误。

您需要提供每个类的显式导入,如下所示:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

或者做

import java.util.regex.*;

你正在尝试导入一个包,你需要*元字符。

如果您阅读了编译器提供给您的消息,则说它无法找到 Class 正则表达式。

答案 1 :(得分:5)

您无法导入包。您导入一个类或包中的所有类:

import java.util.regex.*;

包在树中组织,但import不是递归的。导入java.util.*仅导入java.util中的类,但不导入子包中的类。

答案 2 :(得分:4)

您需要写下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

或者:

import java.util.regex.*;

如果没有星号,你不能只导入java.util.regex,因为那是一个包;这就像导入java.io