2014-02-19 55 views
0

我在Codenameone(Java)中構建應用程序,需要使用正則表達式快速檢查電子郵件。
但是,現在由於某種原因,每當我建立我的應用程序時,我得到java.util.regex包不存在的錯誤。
編譯時Netbeans不會出錯,我可以訪問java.util.regex中所有類的源代碼,但由於某些原因,netbeans在構建時無法找到它。java.util.regex包不存在(codenameone)

我在網上做了一些搜索,但找不到任何有用的東西。
我使用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

你這樣寫呢? :import java.util.regex。*; – Sembrano

+1

你是如何在Netbeans之外建立的? (如果你說在Netbeans編譯時沒有錯誤...) –

+0

你是如何從該軟件包導入的?請告訴我們代碼。 – Carlo

回答

1

Codename One不支持Java SE堆棧中的該程序包或許多其他程序包。 Java SE對於移動設備來說太大了,我們當前的iOS版Hello World爲3mb,如果我們支持完整的Java SE,它將會在18mb左右。對於Windows Phone,RIM等也是如此。

有幾種解決方案,其中包括一個端口3rd party regex cn1lib

你可以看到一個代號支持類JavaDoc中:https://codenameone.googlecode.com/svn/trunk/CodenameOne/javadoc/index.html

+0

非常感謝!不知道它不支持所有,但你如何解釋它,這很明顯,爲什麼。 – ThomasS