📌  相关文章
📜  如何根据 JavaScript 中的正则表达式返回所有匹配的字符串?

📅  最后修改于: 2022-05-13 01:58:10.299000             🧑  作者: Mango

如何根据 JavaScript 中的正则表达式返回所有匹配的字符串?

我们将学习如何识别字符串是否与正则表达式匹配,然后在 JavaScript 中返回所有匹配的字符串。我们可以使用 JavaScript字符串.search() 方法。此方法搜索给定字符串中的正则表达式之间的匹配。

句法:

let index = string.search( expression )

参数:字符串.search()方法接受两个参数。

  • 字符串名称:我们要在其中搜索正则表达式的字符串名称。
  • 表达式:这是我们要检查它是否存在于上述字符串中的模式/子字符串。

返回值:它返回给定字符串中第一个匹配的正则表达式的索引值,否则返回-1。它从索引 0 开始,如果匹配任何字母,则返回其对应的索引,不再进一步检查。如果任何正则表达式匹配相应的字符串,它会返回第一个字母的索引。

示例 1:我们可以观察到表达式 'cie' 出现在给定字符串的第 31 个索引处。更准确地说,它返回第一个匹配正则表达式的第一个字母的索引,在这种情况下是 'cie' 中的 'c'。在第二种情况下,它返回第一个 'c' 字母表的索引,而在第三种情况下,它返回 -1,因为给定字符串中没有表达式 'z' 。

JavaScript


JavaScript


输出:

31
21
-1

我们可以在一个字符串数组中实现这个方法,以选择性地找到所有与正则表达式匹配的字符串。为此,我们需要迭代数组中的所有给定字符串,并在字符串元素中搜索正则表达式。

示例 2:为了实现这一点,我们将使用 JavaScript 中的数组 push() 方法,从后面向数组中添加一个元素。

句法:

array.push( element1, element2, element3, ... elementN )

例子:

JavaScript


输出:

['GeeksforGeeks is computer science portal', 'I am a Geek', 'I am computer science Geek']
0: "GeeksforGeeks is computer science portal"
1: "I am a Geek"
2: "I am a computer science Geek"
length: 3
[[Prototype]]: Array(0)

我们成功返回了一个包含与给定正则表达式匹配的所有字符串的数组。