我正在使用Codenameone(Java)构建应用程序,需要使用regex进行快速电子邮件检查
但是现在由于某些原因,每当我构建我的应用程序时,我都会收到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;
- EDIT-- 似乎这个问题与codenameone有关所以我改变了标题。感谢那些在编辑前回答的人。我不认为这个问题可能与Codenameone有关,我很抱歉。
答案 0 :(得分:1)
Codename One不支持Java SE堆栈中的该包或许多其他包。 Java SE对于移动来说太大了,我们目前对iOS的hello世界是3mb,如果我们支持完整的Java SE,它将大约为18mb。对于Windows Phone,RIM等也是如此。
有几种解决方案,包括3rd party regex cn1lib的端口。
您可以在JavaDocs中看到Codename One支持的类:https://codenameone.googlecode.com/svn/trunk/CodenameOne/javadoc/index.html