2017-07-26 22 views
0

這裏是我的正則表達式,試圖匹配的有效網址:如何開始和字母和數字組結束禁止符號

^(https?:\/\/((\b\w[^-][a-zA-Z0-9-]{1,33})\.){1,34}([[a-zA-Z0-9]{1,6})\/?)$ 

,我一直試圖找到方法,使一個簡單的解決方案禁止在一組字母和數字的開始和結尾使用連字符「 - 」。 我試過用\b\w[^-]。但它沒有幫助。 例如,我正則表達式這個字符串匹配,但它不應該 http://example-.com

+0

嘗試'(?i)^(?! mailto:)(?:(?: https?| ftp):\/\ /)?(?:\ S +(?:: \ ?S *)@)(:(:(:[1-9] \ d | 1 \ d \ d | 2 [01] \ d | 22 [0-3]????)(?:\?。 ){2}(:(1 \ d {1,2} | | 2 [0-4] \ d 25 [0-5]?):\(?:?[1-9] \ d | 1 \ d \ d | 2 [0-4] \ d | 25 [0-4]) )|(?:?(:[AZ \ u00a1- \ uffff0-9] + - )?*?[AZ \ u00a1- \ uffff0-9] +)(:\(:[AZ \ u00a1- \ uffff0 ???-9] + - )* [AZ \ u00a1- \ uffff0-9] +)*(:\(:[AZ \ u00a1- \ uffff] {2,})))|本地主機)(?: :\ d {2,5})?(?:\/[^ \ s] *)?$' – sln

回答

0

我自己找到了答案

^(https?:\/\/([WWW\.]|[www\.])?((([a-zA-Z0-9]|[a-zA-Z0-9][-][a-zA-Z0-9]){1,10})\.){1,33}([[a-zA-Z0-9]{1,6})\/?)$ 

它只是一個簡單或[a-zA-Z0-9]|[a-zA-Z0-9][-][a-zA-Z0-9]

如果你會找到更好的解決方案請發送:)

+0

供參考:'[WWW \。]'匹配一個大寫'W'或一個點。我很確定這不是你想要的。 – Toto

相關問題