Javascript,字符串操作,正则表达式或其他

时间:2011-01-12 15:18:06

标签: javascript regex string

我是正则表达式中最糟糕的人和JavaScript / jquery中的任何字符串操作,你能帮忙解决一些问题吗?

http://farm5.static.flickr.com/4040/5160997583_5ea677e4e1_s.jpg

这是需要从此网址获取的网址结构示例 5160997583

感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

假设结构始终相同,并且您希望找到文件名的所有字符,直到第一次出现下划线,您可以这样做:

var str = "http://farm5.static.flickr.com/4040/5160997583_5ea677e4e1_s.jpg";
var num = str.split("/");
num = num[num.length - 1].split("_")[0];
alert(num);

str.split("/")[-1]获取5160997583_5ea677e4e1_s.jpg然后我们将该字符串拆分为_并抓取该字符串的第一部分。

或者,您可以这样做:

var num = str.replace(/\/(\d+)_[^\/]+$/i, "$1");

答案 1 :(得分:1)

var code = url.match(/\/([0-9]+)_[^\/]*$/)[1];

(已编辑为更具限制性)

答案 2 :(得分:0)

找到文件名起始位的正则表达式就是这个

/\/(\d+)[^\/]+$/

你就像这样使用它

url = "http://farm5.static.flickr.com/4040/5160997583_5ea677e4e1_s.jpg";
matches = url.match(/\/(\d+)[^\/]+$/);
alert(matches[1]); // here it is /