2010-01-29 53 views

回答

2

試試這個:

"mydomain.com/path/to/file/myfile.html".replace(/[^\/]*$/, "") 
"/path/file.txt".replace(/[^\/]*$/, "") 

但是你也可以通過拆分做沒有正則表達式:

"mydomain.com/path/to/file/myfile.html".split("/").slice(0, -1).join("/")+"/" 
"/path/file.txt".split("/").slice(0, -1).join("/")+"/" 
0

這工作:

var file="mydomain.com/path/to/file/myfile.html";  
var match=/^(.*?)[\w\d\.]+$/g.exec(file); 
var path=match[1]; 
1

此正則表達式應該做的:

^(?:[^\/]*\/)* 
4

應該快沒有正則表達式:

path.substr(0, path.lastIndexOf('/') + 1); 

例子:

var path = "mydomain.com/path/to/file/myfile.html"; 
path.substr(0, path.lastIndexOf('/') + 1); 
"mydomain.com/path/to/file/" 

var path = "/mypath/file.txt"; 
path.substr(0, path.lastIndexOf('/') + 1); 
"/mypath/" 

var path = "file.txt"; 
path.substr(0, path.lastIndexOf('/') + 1); 
""