Как вернуть все совпадающие строки с регулярным выражением в JavaScript?

Опубликовано: 2 Сентября, 2022

Мы узнаем, как определить, соответствует ли строка регулярному выражению, и впоследствии вернуть все совпадающие строки в JavaScript. Мы можем использовать метод JavaScript string.search(). Этот метод ищет совпадение между регулярным выражением в заданной строке.

Синтаксис:

let index = string.search( expression )

Параметры: метод string.search() принимает два параметра.

  • Имя строки: имя строки, в которой мы хотим найти регулярное выражение.
  • Выражение: это шаблон/подстрока, которую мы хотим проверить, присутствует ли она в приведенной выше строке.

Возвращаемое значение: возвращает значение индекса первого совпадающего регулярного выражения в данной строке, в противном случае возвращается -1. Он начинается с индекса 0, и если какой-либо алфавит соответствует, он возвращает соответствующий индекс и не проверяет дальше. Он возвращает индекс первого алфавита, если какое-либо регулярное выражение соответствует соответствующей строке.

Пример 1: Мы можем заметить, что выражение 'cie' присутствует в 31-м индексе данной строки. Точнее, он возвращает индекс первого алфавита первого совпадения с регулярным выражением, в данном случае это 'c' в 'cie'. Во втором случае он возвращает индекс первого алфавита 'c', тогда как в третьем случае он возвращает -1, так как в заданной строке нет выражения 'z'.

Выход:

31
21
-1

Мы можем реализовать этот метод в массиве строк, чтобы выборочно найти все совпадающие строки с регулярным выражением. Для этого нам нужно перебрать все заданные строки в массиве и найти регулярное выражение в элементах строки.

Пример 2. Для реализации этого мы будем использовать метод массива push() в JavaScript, который добавляет элемент в массив сзади.

Синтаксис:

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

Пример:

Выход:

["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)

Мы успешно возвращаем массив всех строк, соответствующих заданному регулярному выражению.