使用javascript正则表达式提取图像路径

使用javascript正则表达式提取图像路径,javascript,regex,Javascript,Regex,我使用ajax从web服务请求信息,该服务为我返回图像,我需要在代码中使用图像 我对这项服务的问题是返回文本的差异: 表格1:“/site/images/test.png” 表格2:“/site/images/test.png?大小=3” 表格3:“” 表格4:“” 表格4:“” 表单5:“返回空字符串” 此服务从遗留系统带来数据,根据用户当时的输入,我无法更改此服务。我需要一种使用JavaScript提取图像路径的方法。此路径应仅为不带任何标记或查询字符串的图像路径 注意:图像扩展可以是任

我使用ajax从web服务请求信息,该服务为我返回图像,我需要在代码中使用图像

我对这项服务的问题是返回文本的差异:

  • 表格1:“/site/images/test.png”
  • 表格2:“/site/images/test.png?大小=3”
  • 表格3:“
  • 表格4:“
  • 表格4:“
  • 表单5:“返回空字符串”
此服务从遗留系统带来数据,根据用户当时的输入,我无法更改此服务。我需要一种使用JavaScript提取图像路径的方法。此路径应仅为不带任何标记或查询字符串的图像路径


注意:图像扩展可以是任何类型

这是您应该使用的正则表达式:

.*?(\/[\/\w\.]+)[\s\?]?.*
看看它在行动上

如何在Javascript中使用它:

var rex = /.*?(\/[\/\w\.]+)[\s\?]?.*/;
var res = rex.exec("<img src='/site/images/test.png?size=3' />");
console.log(res[1]);  //Will print /site/images/test.png
var rex=/.*(\/[\/\w\.]+)[\s\?].*/;
var res=rex.exec(“”);
console.log(res[1])//将打印/site/images/test.png

链接到。

尝试此正则表达式,将匹配所有图像:

/(\/.*?\.\w{3})/img


您的代码可能如下所示:

var image = "<div><img src='/site/images/test.png?size=3' /></div>";
result = image.match(/(\/.*?\.\w{3})/img);
console.log(result[0]);
(\/.*\.\w+)


您可以使用如下简单的正则表达式:

var image = "<div><img src='/site/images/test.png?size=3' /></div>";
result = image.match(/(\/.*?\.\w{3})/img);
console.log(result[0]);
(\/.*\.\w+)

Javascript代码

var re = /(\/.*\.\w+)/g; 
var str = 'Form 1: "/site/images/test.png"\nForm 2: "/site/images/test.png?size=3"\nForm 3: "<img src=\'/site/images/test.png />"\nForm 4: "<img src=\'/site/images/test.png?size=3\' />"\nForm 4: "<div><img src=\'/site/images/test.png?size=3\' /></div>"\nForm 5: "" return empty string';
var m;

if ((m = re.exec(str)) !== null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
    }
    // View your result using the m-variable.
    // eg m[0] etc.
}
var re=/(\/.\.\w+)/g;
var str='表格1:“/site/images/test.png”\n表格2:“/site/images/test.png?size=3”\n表格3:\n表格4:\n表格4:\n表格5:“返回空字符串”;
var-m;
如果((m=re.exec(str))!==null){
如果(m.index==re.lastIndex){
re.lastIndex++;
}
//使用m变量查看结果。
//例如m[0]等。
}

请澄清,您需要完整路径还是文件名?