在最后一个破折号和最后一个点之间获取

时间:2013-06-06 16:46:02

标签: javascript jquery regex

简单的问题,但我不太了解正则表达式......

http://foo.com/bar/image/abc.jpg

如何在javascript中使用正则表达式 abc

5 个答案:

答案 0 :(得分:4)

'http://foo.com/bar/image/abc.jpg'.split('/').pop().split('.').shift();

答案 1 :(得分:3)

您可以使用: -

var url = 'http://foo.com/bar/image/abc.jpg'
var fileName = url.substring(url.lastIndexOf('/') + 1, url.lastIndexOf('.'));

这会给你“abc”。只需一行代码。 :)

答案 2 :(得分:2)

没有正则表达式:

var str = "http://foo.com/bar/image/abc.jpg"
str.split("/").slice(-1)[0].split(".")[0]

答案 3 :(得分:1)

Demo here:

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>";

答案 4 :(得分:1)

正则表达式版本:

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