我是正则表达式中最糟糕的人和JavaScript / jquery中的任何字符串操作,你能帮忙解决一些问题吗?
http://farm5.static.flickr.com/4040/5160997583_5ea677e4e1_s.jpg
这是需要从此网址获取的网址结构示例 5160997583
感谢您的帮助!
答案 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 /