Replace Branches (Заменить Ветви)
Ищет (Find)/Заменяет (Replace) пути ветвей в древовидной структуре. Этот компонент поддерживает Маски Пути (Path Masks), которые являются строками текста, представляющих собой разрешённые и запрещённые индексы пути. Маски поддерживают как единичные цифры (single digits), так и диапазон цифр (digit ranges), группы цифр (digits groups) и групповые символы (wildcards). Маска состоит из определителей индексов переменных (alternating index qualifiers) и индексов разделителей (index separators). Разделителями должны быть запятая или точка с запятой. Определитель Символ Значение Групповой символ (Wildcard) * (Звёздочка) Представляет любое количество разрешенных цифр Метка-заполнитель (Placeholder) ? (Знак вопроса) Представляет любую единичную цифру Цифра (Digit) N (Целое число) Представляет определённую единственную цифру Диапазон (Range) [A-B] (Заключённый в квадратные скобки) Представляет определенный диапазон цифр между двумя экстремумами. Группа (Group (Группа)) [A,B,C,D] (Заключённая в квадратные скобки) Представляет определенный набор разрешённых/запрещённых цифр. Элемент Значение [0-3] Любое число между и включая ноль и три. >=4 Любое число больше, или равное четырём. ![0,2,5] Любое число, неравное нулю, двум или пяти. ? Любое единичное число
Определители индексов указывают, какие цифры разрешены или запрещены в каждом индексе пути. Есть несколько видов определителей:
Вы можете предварять Цифровую маску операторами равенства (<, >, <=, >=). Кроме того, Вы можете также предварять её восклицательным знаком, чтобы отрицать соответствие (negate the matching).
Например, предположим, что у нас есть дерево со следующими путями:
A) {0;0;0;0}
B) {0;0;0;1}
C) {0;0;1;0}
D) {0;0;1;1}
E) {0;0;1;2}
При обработке такого дерева следующей комбинацией Маски/Пути:
Mask = "{0:0:1:?}"
Path = {0;0;1;0}
Мы обеспечим слияние ветвей C, D и E в единственную ветвь C. Или, если мы используем комбинацию двух Масок/Путей:
Mask 1 = "{0:0:0:?}"
Path 1 = {0}
Mask 2 = "{0:0:1:?}"
Path 2 = {1}
Мы обеспечим слияние двух ветвей A и B в новую ветвь с путём {0}, а ветви C, D и E будут слиты в новую ветвь с путём {1}.
Разберём следующую Маску:
{[0-3];>=4;![0,2,5];?}
Разъяснение элементов Маски отдельно:
Вводные параметры:
Результирующие параметры: