任何正在使用的正则表达式找到图片网址?
示例:
var reg = /^url\(|url\(".*"\)|\)$/;
var string = 'url("http://domain.com/randompath/random4509324041123213.jpg")';
var string2 = 'url(http://domain.com/randompath/random4509324041123213.jpg)';
console.log(string.match(reg));
console.log(string2.match(reg));
我绑了但是失败了reg
模式看起来像这样,我只想要url(" ")
或url( )
我只想得到像http://domain.com/randompath/random4509324041123213.jpg
答案 0 :(得分:1)
试试这个正则表达式:
var regex = /\burl\(\"?(.*?)\"?\)/;
var match = regex.exec(string);
console.log(match[1]);
在第一个子组中捕获URL。
答案 1 :(得分:1)
我只是使用这个表达式:
/url.*\("?([^")]+)/
这将返回一个数组,其中第一个索引(0)包含整个匹配,第二个将是url本身,如下所示:
'url("http://domain.com/randompath/random4509324041123213.jpg")'.match(/url.*\("?([^")]+)/)[1];
//returns "http://domain.com/randompath/random4509324041123213.jpg"
//or without the quotes, same return, same expression
'url(http://domain.com/randompath/random4509324041123213.jpg)'.match(/url.*\("?([^")]+)/)[1];
如果使用单引号和双引号进行更改,您可以简单地用"
或'"
替换所有['"]
,在这种情况下:
/url.*\(["']?([^"')]+)/
答案 2 :(得分:0)
如果字符串始终保持一致,一个选项就是删除前4个字符url("
和最后两个字符")
:
var string = 'url("http://domain.com/randompath/random4509324041123213.jpg")';
// Remove last two characters
string = string.substr(0, string.length - 2);
// Remove first five characters
string = string.substr(5, string.length);
这种方法的好处:您可以自己编辑它,而无需让StackOverflow为您完成。 RegEx 很棒,但是如果你不知道它,那么用它来编写你的代码会让你感到很沮丧。