我试图在没有引号的情况下提取src URL/path,只有在这种情况下它是一个图像:
到目前为止,我有/src="(.*)"/g,但很明显,这两者都有,我一直在回头看,展望未来,但只是不能把它放在一起。
发布于 2022-11-15 17:06:03
您可以使用捕获组,并且应该防止使用否定的字符类跨越"。
如果您想要匹配href或src
\b(?:href|src)="([^\s"]*\.(?:png|jpg|bmp))"解释
\b阻止部分单词匹配的单词边界(?:href|src)="匹配href=或src=( Capture group 1 [^\s"]*匹配除空格char或"以外的可选字符\.(?:png|jpg|bmp)匹配.png .jpg .bmp的一个)闭组1"匹配
const regex = /\b(?:href|src)="([^\s"]*\.(?:png|jpg|bmp))"/;
[
'src="/path/image.png" test "',
'src="/path/image.bmp"',
'src="/path/image.jpg"',
'src="https://www.site1.com"',
'href="image.png"'
].forEach(s => {
const m = s.match(regex);
if (m) {
console.log(m[1]);
}
})
发布于 2022-11-15 15:42:36
试试/src="(.*(?:jpg|bmp|png))"/g
您需要输入您认为有效的图片的扩展列表
发布于 2022-11-15 15:52:41
https://stackoverflow.com/questions/74448347
复制相似问题