2012-12-24 55 views
0

我是新來的JavaScript正則表達式。使用JavaScript的正則表達式

這是我的問題:

http://example/uploads/files/full/images/image.png 

我只是想獲得uploads/files/full/images/image.png

我怎樣才能做到這一點使用正則表達式?

幫助的人..感謝..

+0

[regexpal.com(http://regexpal.com)是檢驗出來的JavaScript正則表達式一個非常有用的網站/你的工作通過這樣的問題。 – bokonic

回答

3
var someString = "http://example/uploads/files/full/images/image.png"; 
var path = someString.match(/https?:\/\/example\/(.+)$/)[1]; 

http://jsfiddle.net/Squeegy/QwHsC/

// matches http or https 
https? 

// matches :// since you have to escape slashes 
:\/\/ 

// matches the domain name 
example/ 

// captures the path all the way to the end of the string 
(.+)$ 
+0

爲什麼不.replace()? –

+4

..因爲提問者沒有說任何關於想要替換任何東西的信息。 –

3

如果你想用一個更全面的庫這樣的事情在以後的(即不是構建/具體要求正如你所需要的正則表達式),你可以看看類似這樣的東西:

http://blog.stevenlevithan.com/archives/parseuri

在這種情況下,

parseUri("http://example/uploads/files/full/images/image.png").path 

將返回

uploads/files/full/images/image.png 
+0

解析URL比正則表達式在可能的情況下更好。 –

+0

@AlexWayne是的,我同意......但我想你會得到綠色的勾號,因爲你回答了具體的問題! ;-)必須承認我可能會破解一個正則表達式,而不是用我的方式來整合一個新的lib,如果它是一次性的,我知道URL的格式不會改變等等。 – Sepster