На этой странице
- Редактор правила
- Основы шаблонов
- Квантификаторы
- Якоря
- Классы символов
- Группы и альтернативы
- Текст замены
- Параметры
- Практические примеры
- Удалить лишние пробелы
- Извлечь числа из текста
- Привести формат даты к единому виду
- Удалить всё после разделителя
- Очистить метки шкалы Лайкерта
- Заменить несколько вариантов написания сразу
- Извлечь сегмент из кодированного значения
- Когда использовать регулярные выражения, а когда — другие правила
Справочник регулярных выражений
Правило замены по регулярному выражению в разделе преобразования данных позволяет искать шаблоны в текстовых данных и заменять их. Если вы никогда не работали с регулярными выражениями — не беспокойтесь: эта страница охватывает основы и самые распространённые сценарии. Для более глубокого изучения хорошо подойдёт интерактивный учебник regexone.com.
Редактор правила
При создании правила замены по регулярному выражению редактор показывает:
- Шаблон поиска — регулярное выражение для сопоставления
- Текст замены — чем заменить каждое совпадение
- Параметры — глобальный режим (заменять все совпадения), учёт регистра, многострочный режим
- Предпросмотр — первое совпадающее значение из данных с подсветкой совпадений и захваченными группами в разных цветах
Предпросмотр обновляется по мере ввода, так что можно экспериментировать без риска до сохранения правила.
Основы шаблонов
| Шаблон | Совпадает с | Пример совпадения |
|---|---|---|
abc |
буквальный текст «abc» | «abcdef» |
. |
любой одиночный символ | «abc» |
\d |
любая цифра (0–9) | «возраст 42» |
\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, чтобы извлечь другой сегмент.
Когда использовать регулярные выражения, а когда — другие правила
- Точное сопоставление значений (например, «Мужской» → «М») — используйте перекодирование значений. Это проще и менее подвержено ошибкам.
- Числовые преобразования — используйте формулу. Регулярные выражения работают с текстом, а не с числами.
- Простой поиск и замена без сложной логики шаблонов — регулярные выражения справятся, но перекодирование значений с одной строкой соответствия читается нагляднее.
Регулярные выражения незаменимы, когда текст имеет структуру, которую нужно гибко сопоставлять: непостоянные форматы, необязательные части или фрагменты, требующие перестановки.