JavaScript 正则表达式( 匹配网页的图片地址)

正则表达式 - 元字符

贪婪模式与非贪婪模式

贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为;
贪婪模式 在整个表达式匹配成功的前提下,尽可能多的匹配;
非贪婪模式 在整个表达式匹配成功的前提下,尽可能少的匹配。非贪婪模式只被部分NFA引擎所支持。

贪婪与非贪婪模式详解

匹配所有img标签

对于一个img标签来说一般也就是如下的写法

<img ... src=''..." ...>
<img ... src=''..." ... />
<img ... src=''..." .. ></img>

为了处理大部分的写法我们写下如下的正则来匹配带有src属性的部分

document.body.innerHTML.match(/<img.*?(\/?>)/g)

这个时候匹配到的就是如下的内容


匹配所有img标签

因为我们需要的只有src属性的值,所以要用到正则的 非获取匹配反向肯定预查询

document.body.innerHTML.match(/(?<=<img[^<]+\ssrc=("|'|&quot;)).*?(?=("|'|&quot;).*?\/?>)/g)
// \ssrc 防止data-src

匹配所有背景图

document.body.innerHTML.match(/(?<=(background|border)(-image)?:\s*url\(('|"|&quot;)).*?(?=('|"|&quot;)\))/g)
匹配所有背景图

所有图片地址

document.body.innerHTML.match(/(?<=<img[^<]+\ssrc=("|'|&quot;)).*?(?=("|'|&quot;).*?\/?>)|(?<=(background|border)(-image)?:\s*url\(('|"|&quot;)).*?(?=('|"|&quot;)\))/g)
所有图片地址
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一. 正则表达式的基础知识: 1.字符串的组成 对于字符串”123“而言,包括三个字符四个位置。如下图所示: 2....
    yuanjiex阅读 8,492评论 0 1
  • 有点复杂,是转载的文章 贪婪模式与非贪婪模式讲解 Javascript中的正则贪婪与非贪婪模式的区别是: 被量词修...
    胖先森阅读 2,166评论 0 1
  • 什么是正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),...
    小貔阅读 5,553评论 0 7
  • 去了动物园,看见被关在笼子里的动物,觉得它们很可怜。它们是属于大自然的,不应该被束缚在这小小的铁网里。可是,对此现...
    槡魚⺄晚阅读 884评论 0 0
  • 昨天看了一篇文章,说的是一个女孩因为网络暴民的无端指责和谩骂,影响到了生活。这其中心理的创伤,更是无法弥补。 在网...
    静夜思_3c15阅读 2,778评论 0 1