如何截取出连续的图片?

比如有这么一段代码

123
<img src="1.jpg" /><img src="2.jpg" />
321321
<img src="3.jpg" /><img src="4.jpg" />

如何匹配来截取出
<img src="1.jpg" /><img src="2.jpg" />
以及
<img src="3.jpg" /><img src="4.jpg" />

就是说我要截取出一段字符串中具有连续的图片的那段文本。图片与图片之间有其它字符隔开则不截取。。

请问有什么思路?
可以用正则表达式吗?

阅读 2.2k
1 个回答
function fn(u) {
    console.log(u);
}

var str = '123\
<img src="1.jpg" /><img src="2.jpg" />\
321321\
<img src="3.jpg" /><img src="4.jpg" />';

str.replace(/<img src="(\d+)\.jpg" \/><img src="(\d+)\.jpg" \/>/g, function(u, number1, number2) {
    if (+number1 + 1 === +number2) {
        fn(u);
    }
});

输出:

<img src="1.jpg" /><img src="2.jpg" />
<img src="3.jpg" /><img src="4.jpg" />

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题