Ставим жирную точку в судьбе регулярных выражений для решения офисных задач. Или нет?

Ставим жирную точку в судьбе регулярных выражений для решения офисных задач. Или нет?

Привет, на связи Сергей, продуктовый маркетолог платформы Puzzle-rpa и по совместительству человек, который раз 10 начинал решать вопрос с помощью регулярных выражений (regex) и примерно 0 раз их тем самым решил.

В заметке опишу как мы упростили процесс работы с регуляркой и заодно еще раз вспомним зачем оно вообще нужно.

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

любой программист который решал проблему с помощью регулярных выражений

Для моего скромного взгляда regex это совершенно контринтуитивная штука, которая непонятно зачем вообще существует. И, как и любой подобный инструмент вокруг него выстраивается своя логика работы, делаются сервисы и ломаются копья на форумах разработчиков.

Давайте по-быстрому разберемся, что это такое и где используется.

Regex или регулярные выражения это инструмент для создания «шаблонов» для поиска текстовой информации в строках.

Рабочий пример такой задачи обычно выглядит так. У вас есть какой объемный файл с текстовыми данными, например контакты, выгруженные откуда-то. Вам, например необходимо добыть из него только адреса электронной почты для создания рассылки.

Если вы разработчик, то вероятнее всего придется использовать:

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b

Обернув его в код на Python или на чем, вы там ведете разработку. Но окажется, что это не универсальное правило и скорее всего будут исключения, которые тоже нужно описывать.

Если вы делаете это в Excel, то возможно по началу вы попробуете использовать ЛЕВСИМВ, ПРАВСИМВ, ПСТР, СЦЕПИТЬ, ОБЪЕДИНИТЬ ну и далее по списку. Может справитесь, а может нет, но так как внутри Excel есть только если использовать VBA, и вы можете сделать это на VBA, то я бы не стал на вашем месте читать эту заметку дальше.

Если проблему нужно решить разово, то интернет предоставит много разных сервисов, которые помогут сформировать правильный шаблон и даже обработать файл.

Как упростили регулярные выражения на платформе Puzzle?

Все просто, мы обернули самые популярные регулярные выражения в готовы функции.

Фактически пользователю нужно понять, какую информацию ему необходимо добыть и выбрать нужную функцию, поменяв в ней 1–3 параметра.

Вот пример того, как реализовано решение задачи поиска электронных адресов:

Регулярные выражения по поиску электронных адресов на <a href="https://puzzle-rpa.ru" rel="nofollow noreferrer noopener" target="_blank">Puzzle RPA</a>.
Регулярные выражения по поиску электронных адресов на Puzzle RPA.

Вот еще несколько примеров:

Регулярные выражения на <a href="https://puzzle-rpa.ru/" rel="nofollow noreferrer noopener" target="_blank">Puzzle RPA</a>.
Регулярные выражения на Puzzle RPA.

Все просто интуитивно и если вы можете написать текстом, что вы хотите сделать, то вы легко сможете сделать это на нашей платформе Puzzle RPA.

Подписывайтесь на мой блог и на наш телеграм канал. А мы будем стараться делать его интересным для широкого круга читалей.

Если интересно побольше узнать про нашу платформу, то вот выступление нашего основателя на конференции Гиперавтоматизация.

2.2K2.2K показов
394394 открытия
11 репост
31 комментарий

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\bЗачем именно такой? Вы ведь максимально ограничиваете область определения (нет поддержки puny-code как минимум, ещё отвалится поддержка всяких "website.com.uk"). Я бы нечто подобное прикинул:
[\w\d!#$%&'*+\-/=?^_`{|}~]+@[\w\d!#$%&'*+\-/=?^_`{|}~.]+ Но окажется, что это не универсальное правилоЭто не универсальное правило только потому что вы сами сделали его таким

Ответить

Когда приходит новичек и открывает процесс, то сколько времени он потратит чтобы понять его? В нашем случае даже обучаться практически не надо. Все интуитивно понятно) Вам это существенно упростит жизнь)

Ответить

кстати раз уж зашел разговор про регулярки вообще, то мы как раз бежим в сторону того, чтобы бизнес пользователю вообще ну нужно было внимать в то, что это такое. А просто брать функция поиска в строках и использовать ее.
Таков путь

Ответить

Я так понял что коллеги предлагают еще в экселе от формул отказаться, делать все регулярками в чистом виде:)

Ответить

Я согласен с тем, что "какие-то там символы вписывать в поисковик" далеко не каждому бухгалтеру захочется. Но и делать билдер, который свой визуал берёт со Скретча, - тоже не очень

Ответить

ChatGPT отлично пишет регулярки по текстовому описанию

Ответить