2013-06-26 15 views
0

我已經搜索了很多關於正規的披露,但我還沒有找到任何綜合表達。其中一些我在互聯網上發現的只是檢測https或http lniks不是其他和明智virsa 是否有任何綜合表達所有這些???一個全面的正則表達式來查找來自HTML頁面或字符串的URL,鏈接,頁面鏈接,網站鏈接

,如:

www.google.com 
https://www.fb.com 
http://ww.google.com 
google.com 
info/contact.php 
www.google.com.uk 

和更

有任何

+2

我想是有的,但它可能是一個非常醜陋的表達,除非你是RegEx專家。我強烈建議查看[Html Agility Pack](http://htmlagilitypack.codeplex.com/)進行分析,而不是構建自己的RegEx。 – Tim

+0

http://stackoverflow.com/q/161738 – GSee

+0

Html不是一種常規語言。爲作業使用正確的工具,一個html解析器。 –

回答

0

這裏http://regexlib.com/Search.aspx?k=URL&AspxAutoDetectCookieSupport=1

看看你可以找到大量的實例和模式存在並有很多普通的正則表達式教程和文章。

一個快速瀏覽後,我發現這一點:

([\d\w-.]+?\.(a[cdefgilmnoqrstuwz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvxyz]|d[ejkmnoz]|e[ceghrst]|f[ijkmnor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eouw]|s[abcdeghijklmnortuvyz]|t[cdfghjkmnoprtvwz]|u[augkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw]|aero|arpa|biz|com|coop|edu|info|int|gov|mil|museum|name|net|org|pro)(\b|\W(?<!&|=)(?!\.\s|\.{3}).*?))(\s|$) 

應該做的伎倆,但我敢肯定有名單上更優雅的例子。

+0

感謝alex很好分享:) – Nomi