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

有一个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}}')


いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート