正则提取img属性时的匹配排序问题
高洛峰
高洛峰 2016-11-11 11:28:09
0
1
450

有一个img标签

<img src="http://xxx/loading.gif" data-lazy-src="http://xx/xxx.jpg" />

使用js正则匹配时

/<img.*?(?:data-lazy-src|data-original|src)=['|"]([\s\S]*?)['|"].*?>/ig

会同时匹配上src和data-lazy..但是$1里的值始终是src里的属性..这时候应该怎么办?

'<img src="http://xxx/loading.gif" data-lazy-src="http://xx/xxx.jpg" />'
.replace(/<img.*?(?:data-lazy-src|data-original|src)=['|"]([\s\S]*?)['|"].*?>/ig, '{{$1}}')

//结果
"{{http://xxx/loading.gif}}"

去掉匹配规则里的src是可以的..不过因为通用提取所以src是必须在的.问题是怎么在匹配上data-lazy-src后忽略src获取的$1

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
三叔
''
.replace(//ig, '{{$1}}')


热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!