ZebroidДокументацияИнтерфейс программыКонструктор регулярных выражений

Конструктор регулярных выражений

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

Окно конструктора регулярных выражений

Окно конструктора регулярных выражений


Конструктор регулярных выражений можно запустить из любого инструмента в программе, где предусмотрено использование регулярных выражений, таких как "Замена", "Сборщик полей" и "Разбивка статей".

Условно окно делится на 3 части:

  1. Конструктор регулярных выражений
  2. Само регулярное выражение и правило замены (для тестирования)
  3. Тестер регулярных выражений




Сам конструктор состоит из 3 частей:

  1. Текст, который следует перед тем, что ищем
  2. Непосредственно текст, который ищем
  3. Текст, который следует после того, что ищем

В свою очередь, текст который ищем так же состоит из 3 частей: начало текста, середина и окончание.

Такое разделение позволяет получить удобное количество групп для последующей замены. Группа — это часть регулярного выражения, которая выделена в скобки. Проще всего будет понять о чем идёт речь рассмотрев простой пример: допустим нам необходимо найти текст, который находится в тегах «div» и начинается со слова «Против», а заканчивается словом «биться»:

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

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


Нажимаем на кнопку «Создать регулярное выражение» и получаем:

(<div>)(Против.+?биться)(</div>)


Имеем 3 группы: открывающий тег div, текст, который начинается с «Против», а заканчивается «биться» и закрывающий тег div. Проверяем регулярное выражение:

Проверка регулярного выражения

Проверка регулярного выражения


Как видим совпало точно, как нам нужно: не захватило неподходящий тег в других div'ах и не захватило аналогичный текст, но не в теге div.

Теперь возвращаемся к группам и зачем они нужны: а нужны они для удобной замены текста. К примеру мы хотим, чтобы текст бы не в тегах «div», а в тегах «backquote». Для этого в поле Правило замены пишем следующее:

<backquote>\2</backquote>


Комбинация \2 в результате будет заменена на вторую группу нашего регулярного выражения (т.е. на текст, который начинается с «Против», а заканчивается «биться»). Тестирование замены покажет следующее:

Тестирование замены с использованием регулярных выражений

Тестирование замены с использованием регулярных выражений


Как видим мы добились того, чего хотели. Если вам нужно использовать первую или третью группу — просто напишите в нужных местах \1 или \3 соответственно.

Внимание: если поле «Текст перед всегда» или «После текста всегда» не заполнено, то программа не выделит его в отдельную группу, а значит групп будет меньше и их порядок может отличатся от того, что в примере. Так же программа никогда не выделяет этот текст в отдельную группу если запускать конструктор не для инструмента «Замена».

Пользовательские макросы шаблонов


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



Для того, чтобы создавать свою кнопку достаточно: открыть папку с макросами «Zebroid\User Data\Settings\Regexp Helper Buttons\» и создать там текстовый файл. Название файла будет использовано как имя кнопки, а содержимое — как шаблон регулярного выражения.

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