Система кратких шаблонов, проверка шаблона
(надстройка над LUA-regex)


Система кратких шаблонов представляет собой движок-парсировщик, автоматически преобразующий упрошённый шаблон в LUA-Regex. Создан для упрощения добавления шаблонов. Обычный текст автоматически преобразуется посимвольно в шаблоны разного регистра и похожих символов, которые могут присутствовать несколько раз. Также имеются специальные (служебные) символы:

Символ "*" в самом начале или конце шаблона означает, что тут строка начинается (или заканчивается) или находится один из пробельных символов (удобно, чтобы обозначить целиком фразу или слово, которое может составлять всё сообщение или быть внутри него и отделённым пробельными символами). Этот вариант вернёт сразу все варианты шаблонов, удовлетворяющих этому условию.

Символ "-" означает, что символ перед ним может быть только один раз (по умолчанию формируется шаблон с одним или более символов).

Символ "?" означает, что символ перед ним может присутствовать 0 или более раз (тоесть его может и не быть).

Символы "[ и ]" означают, что в данном месте может находиться один из символов, указанных между ними.

Символы "( и )" определяют захват в исходной строке участка, расположенного между ними. Все захваты доступны по включениям от %1 до %9 в ответе. По умолчанию формируется шаблон с зарезервированными первым и последним захватом, поэтому это надо учитывать.

Символ "_" означает, что на этом месте находится один из пробельных символов.

Символ "%" используется для передачи в шаблон символа "как есть", без изменения движком парсировки шаблона. Чтобы запрограммировать непосредственно сам символ %, то используйте шаблон "%%%%", то будет означать LUA-шаблон "%%".

Символы ^ и $ в начале и конце шаблона означают начало и конец исходной строки соответственно.

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

Учтите, что символы ^$()%.[]*+-? являются служебными и должны экранироваться символом "%", что для краткого шаблона будет выглядеть как "%%", а чтобы запрограммировать, например, служебный символ "+" как часть исходной строки, Вы должны написать краткий шаблон "%%%+", что будет преобразовано в LUA-шаблон как "%+".

Например:
  На краткий шаблон "проверка" будет возвращён шаблон "(%z?)[Пп]+[РрPp]+[ОоOo0]+[ВвB]+[ЕеEe]+[РрPp]+[КкKk]+[АаAa]+(%z?)". Если хотите задать шаблон на слово "раз", но так, чтобы он означал только слово целиком и не реагировал, например, на фразу "размер" или "праздник", то возьмите краткий шаблон в символы "звёздоча". Таким образом, на краткий шаблон "*раз*" будут возвращены LUA-шаблоны:
([%s%p])[РрPp]+[АаAa]+[Зз3]+([%s%p])
^(%z?)[РрPp]+[АаAa]+[Зз3]+([%s%p])
([%s%p])[РрPp]+[АаAa]+[Зз3]+(%z?)$
^(%z?)[РрPp]+[АаAa]+[Зз3]+(%z?)$
А если хотите запрограммировать, например, команду "!тест тест" или "+тест тест", тоесть команда и через пробел какое-то слово, то можете воспользоваться кратким шаблоном "^[%%%+!]тест_тест", на что будет возвращён шаблон "^(%z?)[%+!]+[ТтT]+[ЕеEe]+[СсCc]+[ТтT]+[%s]+[ТтT]+[ЕеEe]+[СсCc]+[ТтT]+".

Для проверки краткого шаблона, чтобы посмотреть, как будет обработан желаемый краткий шаблон и какой шаблон LUA будет возвращён, используйте сервис проверки шаблона (сервис плагина триггеров). Для этого воспользуйтесь командой !checkpattern <краткий шаблон>.


<<< назад | печать | К началу...
PhazaSoft© Экзекутор©
Hosted by uCoz