Перейти к содержанию
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
Логотип бренда
Категории
  1. Главная
  2. Категории
  3. Языки программирования
  4. JavaScript
  5. Методы регулярного выражения exec и test.

Методы регулярного выражения exec и test.

Запланировано Прикреплена Закрыта Перенесена JavaScript
javascript
1 Сообщения 1 Постеры 10 Просмотры 1 Отслеживают
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • evoE Не в сети
    evoE Не в сети
    evo
    javascript
    написал отредактировано evo
    #1

    Два основных метода регулярного выражения в JavaScript — это test() и exec(). Оба используются для поиска совпадений, но возвращают разные данные.


    ✅ test(regexp) — проверяет, есть ли совпадение

    Что делает:
    Проверяет, находит ли регулярное выражение совпадение в строке.
    Возвращает true или false.

    const regex = /hello/;
    regex.test('hello world'); // true
    regex.test('goodbye');     // false
    

    🔹 Используется для условий и валидации.
    🔹 Быстр и прост.

    ⚠️ Важно: Если у регулярки флаг g и вызывается test() несколько раз, она запоминает позицию (lastIndex), и последующие вызовы идут с этой позиции — будьте осторожны!


    ✅ exec(regexp) — ищет совпадение и возвращает детали

    Что делает:
    Ищет первое совпадение и возвращает массив с результатом (или null, если не найдено).

    const regex = /(\d+)/;
    const result = regex.exec('Year 2025');
    console.log(result);
    // ['2025', '2025', index: 5, input: 'Year 2025']
    

    📌 Возвращает:

    • result[0] — всё совпадение ("2025")
    • result[1] — первая захваченная группа ("2025")
    • index — позиция совпадения (5)
    • input — исходная строка

    🔹 Полезно, когда нужно не просто проверить, а получить данные совпадения.

    При флаге g, exec() можно вызывать несколько раз — каждый раз будет искать следующее совпадение (благодаря свойству lastIndex).

    const regex = /\w+/g;
    let match;
    while (match = regex.exec('hi there world')) {
      console.log(match[0]); // 'hi', 'there', 'world'
    }
    

    🆚 Разница между test() и exec():

    Метод Возвращает Что проверяет Полезен для
    test() true/false Есть ли совпадение Проверок, валидации
    exec() Массив / null Совпадение + детали Извлечения данных

    ✅ Итог:

    • Используй test() — чтобы проверить, подходит ли строка под шаблон.
    • Используй exec() — чтобы найти и получить совпадение (особенно с группами и при поиске всех совпадений в цикле).
    1 ответ Последний ответ
    0
    • evoE evo переместил эту тему из Языки программирования

    • evoE

      Что такое функция замыкания в JavaScript

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      10 Просмотры
      Нет ответов
    • evoE

      Прототипы в JavaScript: встроенные объекты и обёртки для примитивов

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      11 Просмотры
      Нет ответов
    • evoE

      Как привести строку к массиву

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      13 Просмотры
      Нет ответов
    • evoE

      Регулярные выражения как аргументы

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript
      1
      0 Голоса
      1 Сообщения
      8 Просмотры
      Нет ответов
    • evoE

      Зачем нужны динамические импорты

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      6 Просмотры
      Нет ответов
    • evoE

      Регулярное выражение состоит из шаблона и необязательных флагов

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      8 Просмотры
      Нет ответов
    • evoE

      Разница между функциональной и блочной видимостью

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      7 Просмотры
      Нет ответов
    • evoE

      Использование import & export синтаксис

      Отслеживается Игнорируется Запланировано Прикреплена Закрыта Перенесена JavaScript javascript
      1
      0 Голоса
      1 Сообщения
      6 Просмотры
      Нет ответов

    Контакты

    • forum@eduity.ru

    © 2025 eduity.ru, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы