regex 使用正则表达式获取HTML/Js中的图像URL

r7xajy2e  于 2023-11-20  发布在  其他
关注(0)|答案(6)|浏览(95)

我想在JS/HTML中获取一些图像的URL:

var a = "http://sub.domain.com/uploads/files/11-11-2011/345301-574-1182-393/2202.jpg";
var b = "http://sub.domain.com/uploads/files/23-11-2011/234552-574-2321-232/asd.png";

字符串
寻找将检测图像URL的解决方案。因此输出将是:

http://sub.domain.com/uploads/files/11-11-2011/345301-574-1182-393/2202.jpg
http://sub.domain.com/uploads/files/23-11-2011/234552-574-2321-232/asd.png


谢谢你,谢谢

am46iovg

am46iovg1#

根据你提供的信息,这应该是可行的:

(https?:\/\/.*\.(?:png|jpg))

字符串
你可以通过在jpg之后添加|ext来添加更多的扩展名。这也将允许使用https的字符串。

注意:您可能希望使用 * 不区分大小写 * 修饰符i,以使捕获更具包容性。这将如下所示:

/(https?:\/\/.*\.(?:png|jpg))/i

c7rzv4ha

c7rzv4ha2#

有点晚了,但在尝试做一些类似于OP的事情时,我创建了下面的正则表达式,它似乎可以处理相对链接和绝对链接:

/([a-z\-_0-9\/\:\.]*\.(jpg|jpeg|png|gif))/i

字符串

2q5ifsrm

2q5ifsrm3#

我在几天前创建了这个正则表达式:

/^https?:\/\/.*\/.*\.(png|gif|webp|jpeg|jpg)\??.*$/gmi

字符串
其他人在这篇文章中提供的工作,但不会检查查询字符串
这个regex的例子:

static checkForImage(url){
    let regex = /^https?:\/\/.*\/.*\.(png|gif|webp|jpeg|jpg)\??.*$/gmi
    let result;
    if (url.match(regex)){
      result = {
        match: url.match(regex)
      }
    } else {
      result = false;
    }
    return result;
  }
checkForImage('https://images-ext-2.discordapp.net/external/yhycJKw8ohsysnU6CBDLQPV4979oQINVmv-fRfu-jL8/%3Fsize%3D2048/https/cdn.discordapp.com/avatars/490535372393021469/a_9e9d0e575eee0221e759257e259681af.gif')

6l7fqoea

6l7fqoea4#

试试这个:

/"(http://[^"]*?\.(jpg|png))"/g

字符串
1美元是你想要的。

pbpqsu0x

pbpqsu0x5#

一个超级严格的解决方案是:

/(http[s]*:\/\/)([a-z\-_0-9\/.]+)\.([a-z.]{2,3})\/([a-z0-9\-_\/._~:?#\[\]@!$&'()*+,;=%]*)([a-z0-9]+\.)(jpg|jpeg|png)/i

字符串

kg7wmglp

kg7wmglp6#

var regex = /(http[s]?:\/\/.*\.(?:png|jpg|gif|svg|jpeg))/i;

字符串
这就是你想要的结果

相关问题