Регулярные выражения RegEx в JavaScript
НАВИГАЦИЯ ПО СТРАНИЦЕ
Регулярные выражения (RegEx) — мощный инструмент для поиска и сопоставления текстовых шаблонов в строках. Они используются в JavaScript (и во многих других языках) для обработки текстовой информации. Давайте рассмотрим основы работы с регулярными выражениями.
Создание регулярного выражения
Регулярные выражения в JavaScript создаются, используя литерал регулярного выражения, заключенный в два слэша (`/`).
Пример:
const regex = /pattern/;
Поиск совпадений
Вы можете использовать метод match строки для поиска совпадений с регулярным выражением. Этот метод возвращает массив с найденными совпадениями.
Пример:
const text = 'Это пример текста с шаблоном.';
const pattern = /шаблон/;
const matches = text.match(pattern);
console.log(matches); // Выведет ["шаблон"]
Поиск всех совпадений
Для поиска всех совпадений в тексте, вы можете использовать метод exec в цикле.
Пример:
const text = 'Это пример текста с шаблоном шаблоном.';
const pattern = /шаблон/g;
let match;
while ((match = pattern.exec(text)) !== null) {
console.log(`Найдено: ${match[0]}, Индекс: ${match.index}`);
}
Замена совпадений
Метод replace строки позволяет заменить совпадения с регулярным выражением на указанную строку.
Пример:
const text = 'Это пример текста с шаблоном.';
const pattern = /шаблон/;
const replacedText = text.replace(pattern, 'замена');
console.log(replacedText); // Выведет "Это пример текста с заменой."
Модификаторы и метасимволы
Регулярные выражения могут содержать модификаторы и метасимволы, которые расширяют их возможности. Например, i делает поиск регистронезависимым, g ищет все совпадения вместо первого, а метасимволы, такие как . и *, представляют любой символ и ноль или более повторений соответственно.
Примеры:
const text = 'Это Пример текста с примером.';
const pattern = /пример/gi;
const matches = text.match(pattern); // Ищет "пример" независимо от регистра
const emailPattern = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/;
Регулярные выражения — мощный инструмент для обработки текстовой информации. Они позволяют выполнить сложный поиск и сопоставление текстовых шаблонов, что полезно для валидации данных, извлечения информации и многих других задач в веб-разработке.