搜索

首页  >  问答  >  正文

正则提取img属性时的匹配排序问题

有一个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

高洛峰高洛峰2952 天前477

全部回复(1)我来回复

  • 三叔

    三叔2016-11-11 11:28:38

    ''
    .replace(//ig, '{{$1}}')


    回复
    0
  • 取消回复