简单的问题,但我不太了解正则表达式...
http://foo.com/bar/image/abc.jpg
如何在javascript中使用正则表达式只获取abc ?
简单的问题,但我不太了解正则表达式...
http://foo.com/bar/image/abc.jpg
如何在javascript中使用正则表达式只获取abc ?
'http://foo.com/bar/image/abc.jpg'.split('/').pop().split('.').shift();
你可以使用这个: -
var url = 'http://foo.com/bar/image/abc.jpg'
var fileName = url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('.'));
这会给你“abc”。只需一行代码。:)
没有正则表达式怎么样:
var str = "http://foo.com/bar/image/abc.jpg"
str.split("/").slice(-1)[0].split(".")[0]
var test = "http://foo.com/bar/image/abc.jpg";
var i = test.lastIndexOf("/");
var j = test.lastIndexOf(".");
var str = test.substring(i + 1, j);
document.body.innerHTML += "<p>" + str + "</p>";
正则表达式版本:
var result = 'http://foo.com/bar/image/abc.jpg'.match(/[^\/]+(?=\.jpg$)/)[0];
对后代的解释:
match 函数返回一个结果数组,但在这里我确定只有 1 个结果,因为我的模式被锚定到字符串的末尾,因此我选择 index [0]
正则表达式:
[^\/]+ all that is not a slash one or more times
(?=\.jpg$) is a lookahead that mean: followed by .jpg
$ stand for the end of the string