我正在使用 Codenameone (Java) 构建一个应用程序,需要使用正则表达式快速检查电子邮件。
但现在由于某种原因,每当我构建应用程序时,我都会收到 java.util.regex 包不存在的错误。
Netbeans 在编译时没有给出错误,我可以从 java.util.regex 中的所有类访问源代码,但由于某种原因,netbeans 在构建时找不到它。
我在网上做了一些搜索,但找不到任何有用的东西。
我使用 Netbeans 7.4 和 JDK 7 (JRE 1.7.0_51)
这是邮件检查的代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
protected boolean checkMail(String email) {
String EMAIL_PATTERN
= "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
Pattern pattern = Pattern.compile(EMAIL_PATTERN);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
这是我得到的错误:
F:\Pantera\Documents\NetBeansProjects\TherapieApp\src\be\pantera\TherapieApp\RegisterPage.java:25: error: package java.util.regex does not exist import java.util.regex.Matcher;
F:\Pantera\Documents\NetBeansProjects\TherapieApp\src\be\pantera\TherapieApp\RegisterPage.java:26: error: package java.util.regex does not exist import java.util.regex.Pattern;
--编辑-- 看来这个问题与 codenameone 有关,所以我更改了标题。感谢那些在编辑之前回答的人。我认为这个问题与 Codenameone 无关,抱歉。
最佳答案
Codename One 不支持该包,也不支持 Java SE 堆栈中的许多其他包。 Java SE 对于移动设备来说太大了,我们当前的 iOS hello world 大小为 3mb,如果我们支持完整的 Java SE,则大小约为 18mb。 Windows Phone、RIM 等也是如此。
有多种解决方案,包括 3rd party regex cn1lib 的端口.
您可以在 JavaDocs 中查看 Codename One 支持的类:https://codenameone.googlecode.com/svn/trunk/CodenameOne/javadoc/index.html
关于java - 包 java.util.regex 不存在(代号one),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21879764/