在 ECMAScript 2018(ES9)中,新增了 Regexp.prototype.exec() 方法,该方法可以作为正则表达式对象的属性被调用。本文将会详细介绍这个新的方法,包括使用方法、示例以及相关注意事项。
概述
Regexp.prototype.exec() 用于在字符串中查找匹配的正则表达式。它返回一个数组,其中包含匹配到的字符串,以及匹配的分组捕获。如果找不到匹配,返回值为 null。
语法:regexpObj.exec(str)
参数:
- str:需要进行匹配的字符串。
- regexpObj:正则表达式对象。
返回值:匹配结果的数组。
用法示例
下面我们将演示这个方法的使用方法。
----- ------- - ------ -------- ----- --- - ------ ------- ----- ------ - ------------------ -------------------- -- ------- ------- --------
解释:
- /hello (\w+)/i:匹配以 hello 开头,并在 hello 后面跟着一个或多个字母或数字的字符串,忽略大小写。
- 'Hello World':要匹配的字符串。
- result:匹配结果的数组,包含整个匹配结果以及分组捕获的结果。
在上面的例子中,正则表达式将匹配字符串中的 “Hello World”,并且分组捕获了 World。通过调用 exec() 方法,我们可以将匹配结果的数组存储在 result 变量中,并使用 console.log() 打印结果。
注意事项
- 如果正则表达式中没有定义分组,返回的数组将包含两个元素:匹配到的字符串以及其索引。
- 如果正则表达式中定义了分组,返回的数组将包含匹配到的字符串,以及匹配的分组捕获数组。
- 如果没有找到匹配,返回值为 null。
指导意义
Regexp.prototype.exec() 方法对于对自然语言文本分析、字符串分割等场景是非常有用的。使用它可以轻松地获取字符串中匹配的位置,以及匹配中的分组捕获。在使用该方法时需要注意,正则表达式可能会改变全局状态,因此需要格外小心。
结论
本文介绍了 Regexp.prototype.exec() 方法的语法、使用方法、示例以及相关注意事项。希望本文可以帮助大家理解并熟练掌握这个新的正则表达式方法。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/66f33330e1e8e99bfaf4a627