我有以下变量:
myvar = '<img src=".images/myimage.jpg"/>';
如何使用正则表达式在变量中只获得“.images / myimage.jpg”?
答案 0 :(得分:11)
不需要可能有问题的正则表达式。
var src = $(myvar).attr('src');
答案 1 :(得分:4)
Using Regular Expression is not the way to go, you should instead parse the HTML.
您可以使用jQuery快速解析HTML,然后解析src
属性。 This other answer很好,如果加载了jQuery,你应该使用它。
尽管如此,如果未加载jQuery,则不应仅为此加载。
如果您想获取src
属性或属性(它们不相同),您可以创建一个div并将HTML字符串插入其中。然后,您将能够遍历DOM并获取图像src
。
var wrapper = document.createElement('div');
wrapper.innerHTML = '<img src=".images/myimage.jpg"/>';
var img = wrapper.querySelector('img');
console.log(img.src);
console.log(img.getAttribute('src'));
请注意,此代码段假设字符串中始终存在图像。没有条件防止错误(但很容易做到)。