JavaScript 如何返回与正则表达式匹配的所有字符串

JavaScript 如何返回与正则表达式匹配的所有字符串

在本文中,我们将学习如何确定字符串是否与正则表达式匹配,并随后返回所有匹配的字符串在JavaScript中。 。

我们可以使用JavaScript的string.search()方法在给定字符串中查找正则表达式的匹配。

语法:

let index = string.search( expression )

参数: 此方法接受以下两个参数:

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

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

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

JavaScript

// Taking input a string
const str = "GeeksforGeeks is for computer science geeks";
 
// Taking a regular expression
const regexp1 = /cie/;
const regexp2 = /c/;
const regexp3 = /z/;
 
// Expected Output: 31
console.log(str.search(regexp1));
 
// Expected Output: 21
console.log(str.search(regexp2));
 
// Expected Output: -1
console.log(str.search(regexp3));

输出

31
21
-1

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

示例2: 要实现这一点,我们将在JavaScript中使用数组 push() 方法,该方法从末尾将元素添加到数组中。

语法:

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

示例:

JavaScript

// Taking an array of str
const str = [
    "GeeksforGeeks is computer science portal",
    "I am a Geek",
    "I am coder",
    "I am a student",
    "I am a computer science Geek"
];
 
// Taking a regular expression
const regexp = /Gee/;
let arr = [];
 
for (let i = 0; i < str.length; i++) {
    if (str[i].search(regexp) != -1) {
        arr.push(str[i])
    }
}
console.log(arr)

输出

[
  'GeeksforGeeks is computer science portal',
  'I am a Geek',
  'I am a computer science Geek'
]

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程