Проверка шаблонов с помощью REGEXMATCH
Проверяйте соответствие текста шаблону и возвращайте TRUE или FALSE.
«Проверка шаблонов с помощью 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 — локальная установка не требуется.
Все уроки этого курса
- Проверка шаблонов с помощью REGEXMATCH
- Извлечение шаблонов с помощью REGEXEXTRACT
- Замена шаблонов с помощью REGEXREPLACE
- Разделение и очистка неструктурированных данных