7 Transformation text
levinsv edited this page 2024-12-03 18:27:15 +05:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Преобразование выделенного текста или текста из буфера обмена.

Диалог вызывается нажатием Ctrl+M в инструменте запросов.

Схема работы:

В тексте находятся фрагменты PCRE regexp и формируется новый тест из Replace expression. Для подстановки найденных групп используется \g{номер_группы} можно использовать \r\n. Исходный текст разбивается на строки только если символы перевода строк не вошли в искомый текст. Если строки найдены, то перед и после каждой можно дополнительно добавить поля Append before row After row. (В After row можно использовать \r\n). Если в строке содержится несколько найденных фрагментов, то между ними добавляется Field separator.

Пример:

image

Желтым цветом выделяется выражение не входящее ни одну группу. Выражение \g{0} ссылается на всё найденное PCRE выражение.

Кнопка "копировать" копирует измененный текст в буфер. Значение полей можно сохранять именным набором (конфигурация). И в дальнейшем загружать. В секции dlgTransformText файла pgadmin3opt.json сохраняются настройки GUI и сохранённые конфигурации полей. Поля Rows limit Chars limit ограничивают количество строк или символов в Transform text. Установленный флаг Refresh Highlight позволяет видеть результаты во время ввода символов в поля PCRE regexp и Replace expression.

Подсветка синтаксиса PCRE выражений похожа на https://regex101.com. Использована грамматика PCRE https://github.com/bkiers/pcre-parser/blob/master/src/main/antlr4/nl/bigo/pcreparser/PCREParser.g4

Дополнение внесенное commit (feaaf49bc6).
Пример:
image