Методы строки search() и match() в JavaScript: поиск в строке
JavaScript

Методы строки search() и match() в JavaScript: поиск в строке

Теги не заданы
Razilator

В JavaScript есть несколько методов для работы с регулярными выражениями и поиском в строках. Два таких метода - search() и match(), используются для поиска совпадений в строке на основе заданного регулярного выражения. В этой статье мы рассмотрим эти методы более подробно, их синтаксис и приведем примеры их использования.

Метод String.search()

Метод search() используется для поиска совпадений в строке на основе регулярного выражения. Он возвращает индекс первого совпадения или -1, если совпадений не найдено.

Синтаксис

str.search(regexp)
index.js
const text = "Hello, World!";
const index = text.search(/world/i);
console.log(index); // 7

В приведенном выше примере мы применяем метод search() к строке text с использованием регулярного выражения /world/i, которое ищет слово world без учета регистра. Метод возвращает индекс первого совпадения, в данном случае - 7.

Метод String.match()

Метод match() используется для извлечения совпадений из строки на основе регулярного выражения. Он возвращает массив с найденными совпадениями или null, если совпадений не найдено.

Синтаксис

str.match(regexp)

Пример метода match()

index.js
const text = "Hello, World!";
const matches = text.match(/o/g);
console.log(matches); // ["o", "o"]

В приведенном выше примере мы применяем метод match() к строке text с использованием регулярного выражения /o/g, которое ищет все вхождения буквы o. Метод возвращает массив со всеми найденными совпадениями, в данном случае - ["o", "o"].

Заключение

Методы search() и match() предоставляют удобные возможности для работы с регулярными выражениями и поиском в строках. search() возвращает индекс первого совпадения или -1, если совпадений нет, а match() возвращает массив со всеми найденными совпадениями или null, если совпадений нет. Оба метода полезны при обработке текста и извлечении нужной информации из строк на основе заданных шаблонов.

;