正则表达式从javascript中的字符串中提取img src属性?

正则表达式从javascript中的字符串中提取img src属性?,javascript,html,regex,Javascript,Html,Regex,当imgsrc可以是jpg或png时,我需要在javascript中使用什么regexp来提取它的一部分?我的最终结果应该是“/img.happykitten.png”或“/img.happykitten.jpg” 原始字符串的格式为“assets/img/happykitten.png” 我试过这个,但不起作用: var productImg = $('.image-holder').html(), regex = /\/img.*(png|jpg)/, produ

当imgsrc可以是jpg或png时,我需要在javascript中使用什么regexp来提取它的一部分?我的最终结果应该是“/img.happykitten.png”或“/img.happykitten.jpg”

原始字符串的格式为“assets/img/happykitten.png”

我试过这个,但不起作用:

  var productImg = $('.image-holder').html(),
      regex = /\/img.*(png|jpg)/,
      productImgSrc = regex.exec(productImg)[0];

正则表达式:

/\/.*?\.(?:png|jpg)/gm
从文件开头到扩展名匹配的所有内容
\/.*?


只考虑以.png.jpg结尾的文件。
\(?:png|jpg)

这里是JavaScript的一个最小实现

(函数(){
var regex=/\(jpg|png)$/,,
images=document.getElementsByTagName('img'),
arr=[];
对于(var i=0;i

图像

您尝试过什么?什么不起作用?非常感谢字符串示例和该字符串的预期结果!字符串是格式为/assets/img/image1.png的img src。期望的结果是在/img之后的所有内容,包括/img,不管它是png还是jpg。使用非格雷迪模式
/\/img.*(?:png | jpg)/
(注意
之后
*
)和组
(png | jpg)
不这样捕获
(?:png | jpg)
谢谢你的帮助,我非常感谢。