2011-06-23 38 views
1

我想寫一個正則表達式,它允許我過濾掉所有這個形狀的url地址。首頁正則表達式匹配

http://foo.com/ 
http://foo 
http://foo.* 

但不是以下:

http://foo.com/subfoo 
http://foo.com/subfoo/ 
http://foo.com/subfoo/subsubfoo.. 

爲了我已經寫了下面的正則表達式的第二個URL小組賽:

http://.*/. 

但我的問題是搜索的正則表達式匹配第一組。 所以我需要一個方式說:

if after http://.* or http.//.*/ there is nothing, matches the pattern. 

我讀過lookhaead東西。我不知道這可能是正確的。 有什麼想法?感謝您的回答。

回答

1

晚了一點,但是這爲我工作:

http://[^/]*[/]*$ 
+0

它的工作原理也對我來說,現在。謝謝。 – user278064

0
/^http:\/\/[^/?#]*\/./i 

應該只匹配路徑組件不是/的http URL。

0

不要忘記查詢字符串像這樣:http://foo.com/?search

/^http:\/\/[^/?#]*\/[^?]/i 
+0

好點。你可能想要在最後的字符集中包含## –

+0

@Mike Samuel,好點。謝謝 –