Методы RegExp в JavaScript
Регулярные выражения в JavaScript — это мощный инструмент для поиска, сопоставления и обработки строк. В этом руководстве мы сосредоточимся на ключевых методах, связанных с регулярными выражениями, предоставив подробное объяснение и пример для каждого. Понимание этих методов позволит вам эффективно решать задачи сопоставления шаблонов в вашем JavaScript-коде.
RegExp.test()
Метод test() проверяет строку на соответствие регулярному выражению. Он возвращает true, если совпадение найдено, и false в противном случае.
Пример
В этом примере метод test() проверяет, содержит ли строка "Hello world!" шаблон "hello". Поскольку метод чувствителен к регистру, он возвращает false.
RegExp.exec()
Метод exec() ищет в строке совпадение с регулярным выражением. Он возвращает массив, содержащий найденный текст и захваченные группы, или null, если совпадение не найдено.
Пример
В этом примере метод exec() находит совпадение для одной или нескольких цифр в строке "The year is 2024." и возвращает массив с результатом совпадения.
String.search()
Метод search() проверяет строку на соответствие регулярному выражению. Он возвращает индекс первого совпадения (отсчитываемый с нуля) или -1, если совпадение не найдено.
Пример
В этом примере метод search() возвращает индекс первого вхождения слова "awesome" в строку, который равен 14.
String.split()
Метод split() разбивает строку на упорядоченный список подстрок, ища шаблон, и возвращает эти подстроки в виде массива.
Пример
В этом примере метод split() использует запятую в качестве разделителя для разделения строки на массив подстрок.
String.match()
Метод match() извлекает результат сопоставления строки с регулярным выражением. Он возвращает массив результатов совпадений, если используется глобальный флаг (/g), или массив, содержащий первое совпадение и захваченные группы, в противном случае.
Пример
В этом примере метод match() находит все вхождения шаблона "ain" в строке с использованием глобального флага (/g) и возвращает их в виде массива.
String.matchAll()
Метод matchAll() возвращает итератор всех результатов сопоставления строки с регулярным выражением, включая захваченные группы. Примечание: для работы этого метода требуется поддержка ES2020+.
Пример
В этом примере метод matchAll() возвращает итератор всех совпадений для шаблона "t(e)(st(\d?))" в строке "test1test2", включая захваченные группы.
Заключение
Данное руководство подробно и целенаправленно рассматривает основные методы работы с регулярными выражениями в JavaScript, сопровождая их практическими примерами. Эти методы являются важнейшим инструментом для разработчиков, занимающихся обработкой строк и сопоставлением шаблонов.
Практика
Какие из следующих утверждений о регулярных выражениях в JavaScript являются верными?