На этой странице

Справочник регулярных выражений

Правило замены по регулярному выражению в разделе преобразования данных позволяет искать шаблоны в текстовых данных и заменять их. Если вы никогда не работали с регулярными выражениями — не беспокойтесь: эта страница охватывает основы и самые распространённые сценарии. Для более глубокого изучения хорошо подойдёт интерактивный учебник regexone.com.

Редактор правила

При создании правила замены по регулярному выражению редактор показывает:

  • Шаблон поиска — регулярное выражение для сопоставления
  • Текст замены — чем заменить каждое совпадение
  • Параметры — глобальный режим (заменять все совпадения), учёт регистра, многострочный режим
  • Предпросмотр — первое совпадающее значение из данных с подсветкой совпадений и захваченными группами в разных цветах

Предпросмотр обновляется по мере ввода, так что можно экспериментировать без риска до сохранения правила.

Основы шаблонов

Шаблон Совпадает с Пример совпадения
abc буквальный текст «abc» «abcdef»
. любой одиночный символ «abc»
\d любая цифра (0–9) «возраст 4
\D любой нецифровой символ «42!»
\w любой символ слова (буква, цифра, подчёркивание) «привет»
\W любой не-символ слова «привет !»
\s любой пробельный символ (пробел, табуляция, перевод строки) «привет мир»
\S любой непробельный символ «привет»

Квантификаторы

Квантификатор Значение Пример
* ноль или более \d* совпадает с «», «5», «42», «123»
+ один или более \d+ совпадает с «5», «42», «123», но не с «»
? ноль или один (необязательный) colou?r совпадает с «color» и «colour»
{3} ровно 3 \d{3} совпадает с «123», но не с «12»
{2,4} от 2 до 4 \d{2,4} совпадает с «12», «123», «1234»

Якоря

Якорь Значение
^ начало текста (или строки в тексте — в многострочном режиме)
$ конец текста (или строки в тексте — в многострочном режиме)

Классы символов

Квадратные скобки задают набор символов для сопоставления:

Класс Совпадает с
[abc] «a», «b» или «c»
[a-z] любая строчная буква латинского алфавита
[A-Za-z] любая буква латинского алфавита
[0-9] любая цифра (то же, что \d)
[^abc] любой символ, кроме «a», «b» и «c»

Группы и альтернативы

Синтаксис Значение
(abc) захватывающая группа — совпадает с «abc» и сохраняет результат для замены
(?:abc) незахватывающая группа — группирует без сохранения
a|b альтернатива — совпадает с «a» или «b»

Текст замены

В строке замены можно ссылаться на захваченные группы:

Токен Вставляет
$1 первую захваченную группу
$2 вторую захваченную группу
$& всё совпадение целиком

Параметры

  • Глобальный — заменять все совпадения в каждой ячейке, а не только первое. Как правило, этот режим стоит включать.
  • Учитывать регистр — если отключён, шаблон hello также совпадёт с «Hello», «HELLO» и т. д.
  • Многострочный режим — заставляет ^ и $ совпадать с началом и концом каждой строки внутри ячейки, а не только с началом и концом всего значения ячейки.

Практические примеры

Удалить лишние пробелы

Схлопнуть несколько пробелов в один.

Шаблон \s+
Замена (одиночный пробел)
Параметры глобальный
До " Иван Петров "
После " Иван Петров "

Совет: чтобы также обрезать пробелы в начале и конце, добавьте второе правило замены с шаблоном ^\s+|\s+$ и пустой строкой замены (глобальный режим). Или воспользуйтесь формулой trim(v1).

Извлечь числа из текста

Извлечь первое число из ячейки со смешанным содержимым.

Шаблон (\d+)
Замена $1
Параметры не глобальный (только первое совпадение)
До "Возраст: 42 года"
После "42"

Для десятичных чисел используйте шаблон (\d+\.?\d*).

Привести формат даты к единому виду

Преобразовать «ДД.ММ.ГГГГ» в «ГГГГ-ММ-ДД».

Шаблон (\d{2})\.(\d{2})\.(\d{4})
Замена $3-$2-$1
Параметры глобальный
До "15.03.2024"
После "2024-03-15"

Три захватывающие группы (\d{2}), (\d{2}), (\d{4}) извлекают день, месяц и год. Замена $3-$2-$1 переставляет их в нужном порядке.

Удалить всё после разделителя

Оставить только часть до тире, запятой или другого разделителя.

Шаблон \s*-.*$
Замена (пусто)
Параметры глобальный
До "A1 - примечания"
После "A1"

Очистить метки шкалы Лайкерта

Убрать числовой префикс из меток в стиле Google Forms, например «1 - Категорически не согласен».

Шаблон ^\d+\s*[-–]\s*
Замена (пусто)
Параметры глобальный
До "1 - Категорически не согласен"
После "Категорически не согласен"

Заменить несколько вариантов написания сразу

Привести разные варианты написания одного ответа к единому виду.

Шаблон ^(да|ага|угу|д)$
Замена Да
Параметры глобальный, без учёта регистра
До "ага", "ДА", "Д"
После "Да", "Да", "Да"

Якоря ^ и $ гарантируют, что шаблон совпадает со всей ячейкой, а не с подстрокой.

Извлечь сегмент из кодированного значения

Извлечь нужную часть из структурированного кода вида «DEPT-EMP-001».

Шаблон ^(\w+)-(\w+)-(\d+)$
Замена $2
Параметры глобальный
До "DEPT-EMP-001"
После "EMP"

Замените $2 на $1 или $3, чтобы извлечь другой сегмент.

Когда использовать регулярные выражения, а когда — другие правила

  • Точное сопоставление значений (например, «Мужской» → «М») — используйте перекодирование значений. Это проще и менее подвержено ошибкам.
  • Числовые преобразования — используйте формулу. Регулярные выражения работают с текстом, а не с числами.
  • Простой поиск и замена без сложной логики шаблонов — регулярные выражения справятся, но перекодирование значений с одной строкой соответствия читается нагляднее.

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