使用 ES10 的 String.prototype.matchAll() 方法匹配多个正则表达式

阅读时长 3 分钟读完

在前端开发中,我们常常需要使用正则表达式来匹配字符串。而在 ES10 中,新增了一个非常实用的方法 String.prototype.matchAll(),它可以帮助我们一次性匹配多个正则表达式。

什么是 String.prototype.matchAll() 方法

String.prototype.matchAll() 方法是 ES10 中新增的一个字符串方法,它可以一次性匹配多个正则表达式,并返回一个迭代器对象,可以通过 for...of 循环来遍历匹配结果。

如何使用 String.prototype.matchAll() 方法

使用 String.prototype.matchAll() 方法非常简单,只需要在字符串上调用该方法,并传入一个正则表达式即可:

接下来,我们可以通过 for...of 循环来遍历匹配结果:

String.prototype.matchAll() 方法的返回值

String.prototype.matchAll() 方法返回的是一个迭代器对象,我们可以通过 for...of 循环来遍历该迭代器对象,获取每个正则表达式的匹配结果。

每个匹配结果都是一个数组,包含以下信息:

  • 0:匹配到的完整字符串
  • index:匹配到的字符串在原字符串中的起始位置
  • groups:如果正则表达式中包含命名捕获组,则会返回一个对象,包含每个命名捕获组的键值对

示例代码

下面是一个使用 String.prototype.matchAll() 方法的示例代码:

输出结果:

-- -------------------- ---- -------
- -
- -
- -
- -
- -
- -
- -
- -
- --
- --

总结

String.prototype.matchAll() 方法是一个非常实用的字符串方法,可以帮助我们一次性匹配多个正则表达式。在实际开发中,我们可以利用该方法来简化代码,提高开发效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6589355beb4cecbf2de73de3

纠错
反馈