Поиск и замена части текста с помощью регулярных выражений
В работе маркетолога часто приходится обрабатывать разные тексты. При большом количестве элементов и их разной записи, делать это стандартными методами невозможно. Лучше использовать регулярные выражения, чтобы ускорить процесс работы.
Поиск и замена части текста с помощью регулярных выражений – это мощный инструмент, который используется в программировании и обработке текстов для выполнения различных операций с текстовыми данными. Регулярные выражения позволяют находить шаблоны в строках, извлекать нужные данные и даже заменять их на другие значения.
В статье расскажу про них подробнее.
Применение регулярных выражений в Google таблицах
Задачи могут сильно различаться.
Например, в гугл таблицах нужно убрать из utm ссылок всё, что идёт после адреса страницы.

Для этого нужно воспользоваться специальной формулой таблиц для регулярных выражений.
REGEXREPLACE(текст; регулярное_выражение; замена)
— С текстом всё понятно, выбираем ячейку, где есть ссылка;
— С регулярным выражением сложнее, пишем код \&.*|\?.* в отдельной ячейке и выбираю её;
— Для замены используем пустое место “”

Получаем в столбце “Формула” ссылку без utm меток. Фактически происходит следующее:
Мы говорим, возьми текст из ячейки А2 → выбери по регулярному выражению в ячейке В2 весь текст из А2 → подставь пустое место (“”).
Разберём регулярное выражение \&.*|\?.*
Используя такой код, мы говорим: возьми все символы (.*) до символа & (\&) или (|) возьми все символы (.*) до символа ? (\?).
Вывод с помощью регулярных выражений значений до символа с начала строки
Для этого нужно определить символ и вывести значения до него. Сделал пример в регулярных выражениях.

Разберём выражение
^[^\:]*

Где посмотреть все регулярные выражения
Значения регулярных выражений можно посмотреть на специальном сайте regexr.com.
Удобно вставить анализируемый текст и подбирать коды регулярных выражений. Подсветкой будет выделен выбираемый текст.

Коды приведены в левом пунтке меню Cheatsheet.
Кратко привожу их в таблице:
| Код | Описание |
| . | Самое простое – это точка. Она обозначает любой символ в шаблоне на указанной позиции. |
| \s | Любой символ, выглядящий как пробел (пробел, табуляция или перенос строки). |
| \S | Анти-вариант предыдущего шаблона, т.е. любой НЕпробельный символ. |
| \d | Любая цифра |
| \D | Анти-вариант предыдущего, т.е. любая НЕ цифра |
| \w | Любой символ латиницы (A-Z), цифра или знак подчёркивания |
| \W | Анти-вариант предыдущего, т.е. не латиница, не цифра и не подчёркивание. |
| [символы] | В квадратных скобках можно указать один или несколько символов, разрешённых на указанной позиции в тексте. Например ст[уо]л будет соответствовать любому из слов: стол или стул. Также можно не перечислять символы, а задать их диапазоном через дефис, т.е. вместо [ABDCDEF] написать [A-F]. или вместо [4567] ввести [4-7]. Например, для обозначения всех символов кириллицы можно использовать шаблон [а-яА-ЯёЁ]. |
| [^символы] | Если после открывающей квадратной скобки добавить символ “крышки” ^, то набор приобретёт обратный смысл – на указанной позиции в тексте будут разрешены все символы, кроме перечисленных. Так, шаблон [^ЖМ]уть найдёт Путь или Суть или Забудь, но не Жуть или Муть, например. |
| | | Логический оператор ИЛИ (OR) для проверки по любому из указанных критериев. Например (счёт|счёт|invoice) будет искать в тексте любое из указанных слов. Обычно набор вариантов заключается в скобки. |
| ^ | Начало строки |
| $ | Конец строки |
| \b | Край слова |
Если мы ищем определённое количество символов. Например, шестизначный почтовый индекс или все коды товаров из трёх букв. Тогда на помощь приходят квантификаторы или кванторы. Это специальные выражения, которые задают количество искомых знаков.
Квантификаторы применяются к тому символу, что стоит перед ним:
| Квантор | Описание |
| ? | Ноль или одно вхождение. Например .? будет означать один любой символ или его отсутствие. |
| + | Одно или более вхождений. Например \d+ означает любое количество цифр (т.е. любое число от 0 до бесконечности). |
| * | Ноль или более вхождений, т.е. любое количество. Так \s* означает любое количество пробелов или их отсутствие. |
| {число} или {число1,число2} | Если нужно задать строго определённое количество вхождений, то оно задаётся в фигурных скобках. Например \d{6} означает строго шесть цифр, а шаблон \s{2,5} – от двух до пяти пробелов. |
Полезные ссылки по теме
Помимо использования REGEXREPLACE можно применять и другие регулярные выражения:
REGEXEXTRACT: Извлекает определённую часть текста, соответствующую регулярному выражению;REGEXMATCH: Проверяет, соответствует ли текст регулярному выражению;ПОДСТАВИТЬ: Заменяет один текст на другой;ЗАМЕНИТЬ: Заменяет выбранный текст на другой.
