不要在'replace'中最后出现字符串

时间:2016-04-20 15:59:59

标签: javascript regex string

发现很多关于“如何获取最后一个字符串”的问题,但没有关于“怎么做不到它”,这是我的问题

我正在使用表情符号,我想将字符串的每个表情符号(<img>)计为一个字符,这样我就可以获得正确的字符串长度。

替换时,它会找到开头(<img),但是最后一个部分(>)被捕获,而不是第一个关闭第一个<img } tag。

这是我的代码(没有不必要的东西):

 var typed = $(this).html();

 var matches = typed.match(/\<img.*:"\>/g);
 if (matches != null) {
   for (var i = 0; i < matches.length; i++) {
     console.log('Match ' + i + ': ' + matches[i]);
   }
 }

日志结果如下:

Match 0: <img src="/platform/resources/plugins/emoji-area/img/joy.png" class="img" alt=":joy:"><img src="/platform/resources/plugins/emoji-area/img/evil.gif" class="img" alt=":evil:"><img src="/platform/resources/plugins/emoji-area/img/evil.gif" class="img" alt=":evil:">

但它应该是:

Match 0: <img src="/platform/resources/plugins/emoji-area/img/joy.png" class="img" alt=":joy:">
Match 1: <img src="/platform/resources/plugins/emoji-area/img/evil.gif" class="img" alt=":evil:">
Match 2: <img src="/platform/resources/plugins/emoji-area/img/evil.gif" class="img" alt=":evil:">

如何修复它以使每个<img>分开?

0 个答案:

没有答案