在 ES12 中使用新的正则表达式方法:matchAll() 和 replaceAll()

在 ES12 中使用新的正则表达式方法:matchAll() 和 replaceAll()

正则表达式是前端开发过程中不可或缺的重要工具,它可以帮助我们快速地匹配、查找、替换字符串。在 ES12 中,新增了两个正则表达式方法:matchAll() 和 replaceAll()。这两个方法可以让我们更加方便地操作字符串,提高开发效率。

matchAll() 方法返回一个迭代器,可以用来遍历一个字符串中所有匹配正则表达式的结果。这个方法可以返回一个包含所有匹配结果的数组,每个匹配结果都是一个数组,其中包含匹配到的字符串和匹配到的子表达式。

示例代码:

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

输出结果:

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

在上面的示例代码中,我们定义了一个字符串 str 和一个正则表达式 reg,然后使用 matchAll() 方法获取所有匹配结果,并使用 for...of 循环遍历所有匹配结果。输出结果中包含了两个数组,分别表示字符串中匹配到的两个子串 l

replaceAll() 方法可以用来替换一个字符串中所有匹配正则表达式的结果。这个方法可以接收两个参数:一个正则表达式和一个替换字符串。它会将字符串中所有匹配到的子串替换为指定的字符串。

示例代码:

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

输出结果:

----- -----

在上面的示例代码中,我们定义了一个字符串 str 和一个正则表达式 reg,然后使用 replaceAll() 方法将字符串中所有匹配到的子串 l 替换为字符串 x,最后输出替换后的字符串 replacedStr

总结

matchAll() 和 replaceAll() 方法是 ES12 中新增的两个正则表达式方法。matchAll() 方法返回一个迭代器,可以用来遍历一个字符串中所有匹配正则表达式的结果;replaceAll() 方法可以用来替换一个字符串中所有匹配正则表达式的结果。这两个方法可以让我们更加方便地操作字符串,提高开发效率。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/660cfc1ed10417a222d6400d