-1
我正在編寫一個自定義URL檢測器,用於過濾目的,但是存在非URL錯別字的問題。正則表達式「沒有後跟」
在英語中,用句點分隔的兩個句子應該有一個空格,但在大多數情況下,用戶不遵守這個規則。
我必須匹配沒有協議前綴的URL,基本上只有域名和2或3個字符的TLD。如何排除超過TLD 3字符規則的字符串?
例子:
youtube.com (should match)
something.This (fragment of a sentence. Should not match because "This" contains 4 chars.)
注意,這些字符串可以在草堆(開始,中間,結束)在任何地方。我現在正則表達式是這樣的:
.'((https?|ftp)://)?' // Protocol (optional)
.'(www(\.|\%2[Ee]))?' // www prefix (optional)
.'([a-zA-Z-]+(\.|\%2[Ee]))+' // domain strings separated by dot
.'([a-zA-Z-]{2,3})' // tld 2 or 3 chars (should not be followed by another alpha)
.'([/\?]\S*)*' // subdirectory or GET (optional)
你爲什麼LIMI將tld分成2或3個字符? 「博物館」或「信息」怎麼樣......當你有什麼東西時,你想要什麼? – Toto