我有正確的正則表達式來查找文本中的URL,但有一件事我無法解決。 如果URL以DOT結尾 - 此點匹配爲url的一部分。正則表達式匹配URL與DOT結尾
這是我的模式:
/(^|[\?\s])(www\.[^\? ]+\/[^\/ ]*\?[^\? ]+|www\.[^\? ]+)/g
爲樣本,文字'The url is www.domain.com. Second is wiki.org.'
的url最後一個點是不是URL的一部分,但正則表達式替換它。
我有正確的正則表達式來查找文本中的URL,但有一件事我無法解決。 如果URL以DOT結尾 - 此點匹配爲url的一部分。正則表達式匹配URL與DOT結尾
這是我的模式:
/(^|[\?\s])(www\.[^\? ]+\/[^\/ ]*\?[^\? ]+|www\.[^\? ]+)/g
爲樣本,文字'The url is www.domain.com. Second is wiki.org.'
的url最後一個點是不是URL的一部分,但正則表達式替換它。
最簡單的解決辦法是要求非標點字符作爲最後一個字符:
/(^|[?\s])(www\.[^? ]+\/[^/ ]*\?[^? ]*[^?.,! ]|www\.[^? ]*[^?.,! ])/g
注意,我刪除了你的一些反斜槓,因爲他們是沒有必要的。
然而,這仍然是不穩健的URL模式。那麼,爲什麼重新發明輪子而不是僅僅使用some established URL pattern?
發佈您當前的正則表達式,以便我們可以看到您正在嘗試的是什麼? – Martyn
一個很好的閱讀:http://daringfireball.net/2010/07/improved_regex_for_matching_urls – georg
@ thg435,這就是爲什麼使用URL的正則表達式是一個壞主意。 – OrangeDog