Excel Formulas Academy · Урок

Проверка шаблонов с помощью REGEXMATCH

Проверяйте соответствие текста шаблону и возвращайте TRUE или FALSE.

Урок 1 из 413 шагов

«Проверка шаблонов с помощью REGEXMATCH» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.

Почему шаблоны лучше обычного поиска

Иногда нужно найти не одно конкретное слово. Вы хотите задать более содержательный вопрос: содержит ли эта ячейка какие-либо цифры? или похож ли текст на корректный адрес электронной почты?

Регулярное выражение — это небольшой язык шаблонов, описывающий структуру текста. В Google Таблицах его можно использовать с помощью трёх функций: REGEXMATCH, REGEXEXTRACT и REGEXREPLACE.

В этом уроке мы сосредоточимся на первой функции. REGEXMATCH просто отвечает на вопрос «да» или «нет»: соответствует ли текст шаблону?

Синтаксис REGEXMATCH

REGEXMATCH принимает два аргумента: текст, который нужно проверить, и шаблон, который нужно найти. Функция возвращает TRUE, если шаблон найден где-либо в тексте, и FALSE в противном случае.

Обратите внимание: эта функция доступна в Google Таблицах. В Excel используются другие инструменты, поэтому здесь мы работаем именно с Таблицами.

Самый простой шаблон — обычный фрагмент текста. Формула ниже проверяет, содержит ли ячейка A2 слово cat.

=REGEXMATCH(A2, "cat")

Регулярные выражения учитывают регистр

По умолчанию при сопоставлении регулярных выражений учитывается разница между прописными и строчными буквами. Шаблон cat не найдёт совпадение в тексте CAT.

Чтобы учитывать оба варианта, перечислите их внутри квадратных скобок. Шаблон [Cc]at найдёт и Cat, и cat.

Приведённая ниже формула возвращает TRUE, если A2 содержит cat, причём первая буква может быть любого регистра.

=REGEXMATCH(A2, "[Cc]at")

Якоря: начало и конец

Регулярные выражения позволяют указать где именно должен находиться шаблон.

  • ^ означает начало текста
  • $ означает конец текста

Без якорей совпадением считается шаблон, найденный в любом месте. С якорями вы управляете его расположением. Формула ниже возвращает TRUE, только если A2 начинается с INV, что удобно для поиска кодов счетов.

=REGEXMATCH(A2, "^INV")

Классы символов для цифр

Класс символов описывает группу допустимых символов. Самое распространённое сокращение — \d, означающее любую отдельную цифру от 0 до 9.

Приведённый ниже шаблон проверяет, содержит ли A2 хотя бы одну цифру. Знак + означает один или несколько символов, поэтому результатом будет TRUE для order7 и FALSE для hello.

=REGEXMATCH(A2, "\d+")

Рабочий пример: поиск ячеек с числами

Представьте, что в столбце A находятся названия товаров. Некоторые из них содержат размер, например Shirt 12, а некоторые — нет. Вам нужен признак TRUE/FALSE, показывающий, где есть число.

Протяните формулу ниже вниз по столбцу B. В строках с любой цифрой появится TRUE, а в строках только с текстом — FALSE. Затем можно отфильтровать данные по этому столбцу.

=REGEXMATCH(A2, "\d")

Распространённые классы, которые пригодятся снова

Нескольких сокращений достаточно для большинства задач:

  • \d — любая цифра
  • \w — любая буква, цифра или символ подчёркивания
  • \s — любой пробельный символ, например пробел или табуляция
  • . — любой одиночный символ

Можно также создать собственный класс. [A-Z] означает любую прописную букву, а [a-z] — любую строчную. Формула ниже проверяет, содержит ли A2 прописную букву.

=REGEXMATCH(A2, "[A-Z]")

Квантификаторы управляют количеством

Квантификаторы указывают, сколько раз может повторяться предшествующий элемент:

  • + — один или несколько раз
  • * — ноль или больше раз
  • ? — ноль или один раз (необязательно)
  • {3} — ровно три раза

Чтобы проверить, что A2 содержит пятизначный ZIP-код от начала до конца, объедините якоря с квантификатором точного количества, как показано ниже.

=REGEXMATCH(A2, "^\d{5}$")

Рабочий пример: проверка формата адреса электронной почты

Можно отметить ячейки, похожие на адрес электронной почты. Примерный, но практичный шаблон выглядит так: несколько символов, затем @, ещё несколько символов, точка и после неё пара букв.

Приведённая ниже формула возвращает TRUE для sam@site.com и FALSE для not-an-email. Это не идеальная проверка, но она выявляет очевидные ошибки в списке контактов.

=REGEXMATCH(A2, "^[\w.]+@[\w.]+\.\w{2,}$")

Объединение REGEXMATCH с IF

Поскольку REGEXMATCH возвращает TRUE или FALSE, её можно напрямую использовать в IF. Благодаря этому вместо простого логического значения можно выводить понятное сообщение.

Формула ниже помечает каждую ячейку как Has number или Text only в зависимости от того, содержит ли она цифру.

=IF(REGEXMATCH(A2, "\d"), "Has number", "Text only")

Экранирование специальных символов

Некоторые символы имеют специальное значение в регулярных выражениях: . + * ? ( ) [ ] ^ $ \ и ещё несколько. Если нужно найти их буквально, поставьте перед символом обратную косую черту.

Чтобы найти обычную точку, напишите \., а не просто . (последняя означает любой символ). Приведённая ниже формула возвращает TRUE, только если A2 действительно содержит точку.

=REGEXMATCH(A2, "\.")

Быстрая проверка

Проверьте, насколько хорошо вы поняли REGEXMATCH и шаблоны.

Итоги: да или нет с помощью шаблонов

Вы узнали, что REGEXMATCH(text, pattern) возвращает TRUE или FALSE в Google Таблицах. Основные идеи:

  • Шаблоны описывают структуру текста, а не только конкретные слова
  • \d \w \s . — удобные сокращения для классов символов
  • ^ и $ задают начало и конец
  • + * ? {n} управляют количеством повторений
  • Экранируйте специальные символы, например \., чтобы находить их буквально

Далее вы перейдёте от проверки шаблонов к извлечению совпавшего текста с помощью REGEXEXTRACT.

Можно начать бесплатно

Изучай Excel с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Проверка шаблонов с помощью REGEXMATCH» бесплатный?

Да — полный текст урока «Проверка шаблонов с помощью REGEXMATCH» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.

Чему я научусь в уроке «Проверка шаблонов с помощью REGEXMATCH»?

Проверяйте соответствие текста шаблону и возвращайте TRUE или FALSE. Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Excel Formulas Academy?

Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Проверка шаблонов с помощью REGEXMATCH»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Excel Formulas Academy?

Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Проверка шаблонов с помощью REGEXMATCH
  2. Извлечение шаблонов с помощью REGEXEXTRACT
  3. Замена шаблонов с помощью REGEXREPLACE
  4. Разделение и очистка неструктурированных данных
← Назад к Excel Formulas Academy