検索

ホームページ  >  に質問  >  本文

正则提取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

高洛峰高洛峰2953日前480

全員に返信(1)返信します

  • 三叔

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

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


    返事
    0
  • キャンセル返事