2012-06-01 65 views
0

我試圖創建一個模式來驗證域名沒有「http:// www」,但我無法這樣做完全請別人幫我;試圖爲域名創建模式

"\\.[a-zA-Z][a-zA-Z]" 
".*?([^.]+\\.[^.]+)" 
+0

看一看這樣的:http://stackoverflow.com/questions/569137/how-to-get-domain- name-from-url –

回答

3

你試過從Patterns類模式?

+0

請你幫我用這個 –

+0

在包android.util是模式類,其中包含一些模式: TOP_LEVEL_DOMAIN_STR \t正則表達式匹配所有IANA頂級別的域名。 TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL \t正則表達式與WEB_URL的所有IANA頂級域名匹配。 TOP_LEVEL_DOMAIN \t正則表達式模式與所有IANA頂級域名匹配。 WEB_URL \t與RFC 3987的大部分內容相匹配的正則表達式模式國際化URL,即IRI。 –

+0

是的,我讀過但不能使用它請告訴我如何使用這個類 –

3

模式:^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$

說明
域名:這個正則表達式測試一個域名或主機名的有效性。它將匹配任何有效的域名,該域名不包含URL中無效的字符,並以.com,.org,.net,.mil或.edu結尾。您可以通過追加|添加其他有效的頂級域名(管道)字符和希望的頂級域名(TLD)添加到副本中的列表中。

比賽
3SquareBand.com | asp.net | army.mil

更多的模式檢查here

+0

請注意,此模式僅限於少數幾個頂級域名。它會失敗,例如,用於域在.INFO或.photography –

0

該模式API在我的情況並不完美,所以我使用這個正則表達式。

Pattern p = Pattern.compile("^(http|ftp|https)://|^[a-zA-Z0-9]+\\.[a-zA-Z][a-zA-Z]"); 
0

對於Java開發人員來說,這種模式適用於我的問題:

private static final String DOMAIN_START_END_PATTERN_STRING = 
    "^([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,65}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}$"; 
+1

請注意,此模式假設所有TLD的長度均爲2-6個字符。情況並非如此,新的頂級域名如.photography –