Для влюбленных в программирование
Скидка до 44 000₽ на все профессии до 28.02

как использовать регулярные выражения в javascript для начинающих

Аватар пользователя Maksim Litvinov
Maksim Litvinov
4 дня назад

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

Основные понятия

  1. Создание регулярных выражений: Регулярные выражения можно создавать двумя способами:

    • Литерал: javascript const regex = /шаблон/;
    • Конструктор RegExp: javascript const regex = new RegExp('шаблон');
  2. Флаги регулярного выражения: Флаги изменяют поведение регулярных выражений. Наиболее распространенные флаги:

    • i — игнорировать регистр.
    • g — глобальный поиск (найти все совпадения, а не только первое).
    • m — мультистрочный режим.

Пример:

   const regex = /abc/gi;

Основы синтаксиса

  1. Метасимволы:

    • . — любой символ (кроме новой строки).
    • \d — любая цифра (аналогично [0-9]).
    • \D — любой нецифровой символ.
    • \w — любой алфавитно-цифровой символ (аналогично [a-zA-Z0-9_]).
    • \W — любой неалфавитно-цифровой символ.
    • \s — любой пробельный символ (пробел, табуляция, новая строка).
    • \S — любой непробельный символ.
  2. Квантификаторы:

    • * — ноль или более раз.
    • + — один или более раз.
    • ? — ноль или один раз.
    • {n} — ровно n раз.
    • {n,}n или более раз.
    • {n,m} — от n до m раз.
  3. Группировка и альтернативы:

    • (...) — группировка.
    • | — логическое ""или"".

Пример:

   const regex = /(cat|dog)/;

Основные методы для работы с регулярными выражениями

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

Пример:

   const regex = /hello/i;
   console.log(regex.test('Hello')); // true
  1. exec(): Метод exec выполняет поиск совпадений с регулярным выражением и возвращает массив с результатами или null, если совпадений нет.

Пример:

   const regex = /foo/;
   const result = regex.exec('foo bar');

   console.log(result); // ['foo', index: 0, input: 'foo bar', groups: undefined]
  1. match(): Метод String.prototype.match() ищет совпадения в строке по регулярному выражению.

Пример:

   const str = 'The rain in SPAIN stays mainly in the plain';
   const regex = /ain/g;
   const matches = str.match(regex);
   console.log(matches); // ['ain', 'ain', 'ain']
  1. replace(): Метод String.prototype.replace() заменяет совпадения регулярного выражения на новую строку.

Пример:

   const str = 'I like cats and dogs.';
   const newStr = str.replace(/cats/, 'fish');
   console.log(newStr); // 'I like fish and dogs.'
  1. split(): Метод String.prototype.split() разбивает строку на массив подстрок по заданному шаблону.

Пример:

   const str = 'apple,banana,cherry';
   const fruits = str.split(/,/);
   console.log(fruits); // ['apple', 'banana', 'cherry']

Примеры работы

  1. Поиск электронной почты: Регулярное выражение для проверки формата электронной почты:

    const emailRegex = /^[^@\s]+@[^@\s]+\.[^@\s]+$/;
    console.log(emailRegex.test('example@mail.com')); // true
    
  2. Валидация номера телефона: Пример регулярного выражения для простого формата телефона:

    const phoneRegex = /^\+?\d{1,3}[- ]?\d{3}[- ]?\d{3}[- ]?\d{4}$/;
    console.log(phoneRegex.test('+1-234-567-8900')); // true
    
1 0
Познакомьтесь с основами JavaScript бесплатно

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

Тест-драйв

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

Верстка

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Фреймворки

Базы данных