2013-07-01 24 views
0

這是過濾器的域名,它在第一個塊可能是http,https,ftp ,我也不知道,我怎麼能實現特殊情況下的感性沒有鍵入每個世界,我需要例如:HTTP或HTTP或HTTP,但不是hTtP,那是錯誤的。 感謝您的幫助!嗨請幫我請這個正則表達式,爲什麼它不工作?

string reg = @"^?((http|https|ftp)\://)(([a-zA-Z]|[а-яА-ЯёЁ])[0-9]\_\.+){3,61}([a-zA-Z]|[а-яА-ЯёЁ]){2,6}$"; 
+0

你希望與此相匹配的字符串是什麼? –

+3

我很好奇:在哪種情況下'Http'好,但'hTtP'沒有? –

回答

0

這聽起來像你想這種模式:

^?((https?|ftp|HTTPS?|FTP)\://)(([a-zа-яё]|[A-ZА-ЯЁ])[0-9]\_\.+){3,61}([a-zа-яё]|[A-ZА-ЯЁ]){2,6}$ 

但是,如果你想在URL的只是計劃的一部分字母大寫的字符串:

^?(([hH]ttps?|ftp|HTTPS?|FTP)\://)(([a-zа-яё]|[A-ZА-ЯЁ])[0-9]\_\.+){3,61}([a-zа-яё]|[A-ZА-ЯЁ]){2,6}$ 

,或者允許字母大寫的字符串在每一個部分,這將有點混亂:

^?(([hH]ttps?|ftp|HTTPS?|FTP)\://)([a-zа-яёA-ZА-ЯЁ]?([a-zа-яё]|[A-ZА-ЯЁ])[0-8])\_\.+){3,61}[a-zа-яёA-ZА-ЯЁ]([a-zа-яё]|[A-ZА-ЯЁ]){1,6}$ 
相關問題