Как вернуть все совпадающие строки с регулярным выражением в JavaScript?
Мы узнаем, как определить, соответствует ли строка регулярному выражению, и впоследствии вернуть все совпадающие строки в 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)
Мы успешно возвращаем массив всех строк, соответствующих заданному регулярному выражению.