2009-07-17 113 views
0

正則表達式我有一個巨大的URL列表,格式爲:初學者:網址

我可以使用什麼正則表達式來獲取最後三個網址,但是會錯過前兩個網址,因此每個沒有附加城市的網址都會給出,但是有城市的網址會被拒絕?

注意:我使用的是Google Analytics,因此我需要使用RegEx來監控我的網址以及它們的高級功能。截至目前,谷歌正在拒絕每個正則表達式。

+2

這裏有一個很好的參考資料http://www.regular-expressions.info/ – 2009-07-17 14:38:38

回答

0

tj111的當前解決方案無法正常工作 - 它與您的所有網址匹配。

這是一個工程(我檢查你的價值觀)。它還匹配,無論是否有尾隨斜線與否:如果

http:\/\/.*dest\/\w+/?$ 
1

通常,我可以用正則表達式解析URL的最佳建議是不要

你的時間是更好地用於發現存在語言專門用於處理URL的任務libary。

它會計算出所有的邊緣情況,完全符合RFC,無缺陷,安全並具有良好的用戶界面,因此您可以吸取真正想要的位。

在你的情況,建議的方式來處理它將是,使用您的URL庫,提取元素s,然後明確地工作。

這樣的話,頂多你必須應付自身的路徑,而不必擔心這麼多閹其

http://site.com/ 
https://site.com/ 
http://site.com:80/ 
http://www.site.com/ 

除非你真的想。

對於「路徑」,您甚至可能希望使用分割器(或專用路徑分析器)將路徑首先標記爲元素,以確保其可行性。

+0

由於我的回答不再相關,所以給我降低薪水的人請考慮答案已發佈*之前*給OP,聲稱它是在編程語言之外。在使用解析庫*的編程語言中*仍然是最好的選擇。 – 2009-07-17 16:21:07

0
/http:\/\/www\.site\.com\/dest\/\w+\/?$/i 

比賽他們都在同一地點與「目標」出現。你也可以這樣做:

/\w+:\/\/[^/]+\/dest\/\w+\/?$/i 

這將匹配任何protocal任何網站(HTTP,FTP),並在年底與/目標/國家的任何網站,以及一個可選/

。注意,這隻會與網站合法的子集一起工作。

0

試試這個正則表達式:

^http://www\.example\.com/dest/[^/]+/$ 

這將只匹配的最後三個URL。