Перейти к содержимому

Методы RegExp в JavaScript

Регулярные выражения в JavaScript — это мощный инструмент для поиска, сопоставления и обработки строк. В этом руководстве мы сосредоточимся на ключевых методах, связанных с регулярными выражениями, предоставив подробное объяснение и пример для каждого. Понимание этих методов позволит вам эффективно решать задачи сопоставления шаблонов в вашем JavaScript-коде.

RegExp.test()

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

Пример


Output appears here after Run.

В этом примере метод test() проверяет, содержит ли строка "Hello world!" шаблон "hello". Поскольку метод чувствителен к регистру, он возвращает false.

RegExp.exec()

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

Пример


Output appears here after Run.

В этом примере метод exec() находит совпадение для одной или нескольких цифр в строке "The year is 2024." и возвращает массив с результатом совпадения.

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

Пример


Output appears here after Run.

В этом примере метод search() возвращает индекс первого вхождения слова "awesome" в строку, который равен 14.

String.split()

Метод split() разбивает строку на упорядоченный список подстрок, ища шаблон, и возвращает эти подстроки в виде массива.

Пример


Output appears here after Run.

В этом примере метод split() использует запятую в качестве разделителя для разделения строки на массив подстрок.

String.match()

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

Пример


Output appears here after Run.

В этом примере метод match() находит все вхождения шаблона "ain" в строке с использованием глобального флага (/g) и возвращает их в виде массива.

String.matchAll()

Метод matchAll() возвращает итератор всех результатов сопоставления строки с регулярным выражением, включая захваченные группы. Примечание: для работы этого метода требуется поддержка ES2020+.

Пример


Output appears here after Run.

В этом примере метод matchAll() возвращает итератор всех совпадений для шаблона "t(e)(st(\d?))" в строке "test1test2", включая захваченные группы.

Заключение

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

Практика

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

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.