📜  如何在 JavaScript 中搜索字符串中的模式?

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

如何在 JavaScript 中搜索字符串中的模式?

在本文中,我们将了解如何在 JavaScript 中搜索字符串以查找模式。我们将使用以下方法来搜索字符串:

方法 1:在这里,我们将学习如何在 JavaScript 中搜索包含给定模式的字符串。字符串.search() 方法是 JavaScript 中用于此目的的内置方法。它在给定字符串中的正则表达式之间搜索匹配项。

句法:

let position = str.search( expression )

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

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

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

示例 1:

JavaScript


JavaScript


JavaScript


JavaScript


输出:

0
17
-1

解释:我们可以观察到第一个' G '匹配出现在索引0处,而' c '的第一个匹配出现在第17个索引处,而字母' z '在字符串“GeeksforGeeks is computer science portal”中不存在,因此返回 -1。

示例 2:

JavaScript


输出:

27

解释:我们可以观察到表达式 'cie' 与索引 27 处的字符串匹配。因此,如果它存在于给定字符串。

方法 2:我们还可以使用 Javascript String match()函数,只要找到与给定字符串的匹配项,它就会返回一个包含给定表达式的数组,否则返回 null。

句法:

string.match( expression )

参数:这里有两个参数:

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

示例 1:

JavaScript


输出:

['rGe']
0: "rGe"
length: 1
[[Prototype]]: Array(0)

因此,它返回一个长度为 1 的数组,因为给定的表达式和字符串之间只有一个匹配项。 “g”标志有助于查找给定字符串和表达式之间区分大小写的匹配。

对于全局的、不区分大小写的匹配,我们可以使用“gi”标志,它将返回给定字符串中所有可能的组合。

示例 2:

JavaScript


输出:

['Gee', 'Gee', 'gee']
0: "Gee"
1: "Gee"
2: "gee"
length: 3
[[Prototype]]: Array(0)

因此,它返回一个长度为 3 的数组,其中包含给定表达式/模式和字符串之间的所有可能组合。