首页 >web前端 >js教程 >如何使用 RegExp.exec() 从字符串中提取所有匹配项?

如何使用 RegExp.exec() 从字符串中提取所有匹配项?

Susan Sarandon
Susan Sarandon原创
2024-12-18 06:00:15320浏览

How to Extract All Matches from a String Using RegExp.exec()?

RegExp 使用 RegExp.exec 提取多个匹配

要使用 RegExp.exec 从字符串中提取所有匹配,您可以继续调用 re循环中的.exec(s)。以下代码片段演示了这一点:

var re = /\s*([^[:]+):\"([^"]+)"/g;
var s = '[description:"aoeu" uuid:"123sth"]';
var m;

do {
    m = re.exec(s);
    if (m) {
        console.log(m[1], m[2]);
    }
} while (m);

使用提供的测试字符串 '[description:"aoeu" uuid:"123sth"]',此代码将输出:

description aoeu
uuid 123sth

请注意,这里使用的正则表达式:

  • s*:匹配周围的可选空格colon.
  • ([^[:] ): 匹配任何非空白序列作为键。
  • :: 匹配文字冒号。
  • ("([^ "] )":将值匹配为用双引号括起来的任何非双引号序列。

要测试此解决方案,您可以使用提供的 JSFiddle 链接:https://jsfiddle.net/7yS2V/。

以上是如何使用 RegExp.exec() 从字符串中提取所有匹配项?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn