JavaScript – RegExp exec 方法

JavaScript – RegExp exec 方法

JavaScript中的正则表达式exec方法用于在字符串中搜索匹配项。它可以在找到第一个匹配项后停止,也可以在字符串末尾没有更多匹配项之前循环找到所有匹配项。

语法

RegExp.exec(string)

其中RegExp是一个正则表达式的对象,而string是要搜索的字符串。

示例

const regex = /ab+c/;
const str = 'abbbbc';
const result = regex.exec(str);

console.log(result);

在上面的例子中,我们创建了一个正则表达式对象并将其存储在regex变量中,然后我们将要搜索的字符串存储在str变量中。我们使用exec方法搜索匹配项,最后将结果存储在result变量中,并将其打印到控制台上。

参数

RegExp.exec(string)方法仅需一个参数,即要搜索的字符串。如果省略此参数,则返回null。

返回值

RegExp.exec(string)方法返回一个数组。如果未找到匹配项,则返回null。如果找到匹配项,则返回一个数组,其中包含原字符串中匹配项的信息,如下所示:

  • 匹配的字符串
  • 每个捕获组的匹配字符串

该数组还具有以下两个属性:

  • index:匹配项在字符串中的索引。
  • input:原始的搜索字符串。

示例

const regex = /(\w+)\s(\w+)/;
const str = 'John Smith';
const result = regex.exec(str);

console.log(result);

在上面的例子中,我们创建了一个正则表达式对象,该对象使用两个捕获组进行匹配。我们用字符串“John Smith”进行搜索,然后将结果存储在result变量中,并将其打印到控制台上。

结果数组包含匹配字符串“John Smith”和每个捕获组的相应匹配字符串“John”和“Smith”。

循环查找所有匹配项

const regex = /a/g;
const str = 'aabbccaaa';

while ((result = regex.exec(str)) !== null) {
  console.log(`Found {result[0]} at index{result.index}`);
}

在这个例子中,我们使用正则表达式“/a/g”搜索字符串“aabbccaaa”,并在每次找到匹配项时将结果打印到控制台上。在while循环中,每次调用exec方法,都会找到一个新的匹配项,直到没有更多的匹配项为止。

结论

JavaScript RegExp exec方法是一个强大的字符串搜索工具。它可以用来搜索并找到字符串中的匹配项。通过使用正则表达式,我们可以创建复杂的模式来搜索特定类型的文本。使用while循环可以循环找到所有匹配项。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程