Использование вложенных выражений в регулярных выражениях
Для группировки символьных запросов и применения операторов к вложенным выражениям используются (круглые скобки).
В некоторых инструментах, например, в узле Замена терминов, имеется средство для полного или частичного захвата символов, найденных регулярным выражением, а также для дальнешей ссылки на составные компоненты найденной последовательности символов. Чтобы показать, что PolyAnalyst должен найти вложенное выражение, используйте круглые скобки.
|
Обратите внимание, что синтаксис выражения (ab) также является верным, но не имеет смысла. Здесь первой найденной последовательностью будет ab, а второй найденной последовательностью - также ab. В этом случае мы даем PolyAnalyst команду сохранить дополнительную последовательность в памяти, что не имеет никакого смысла. Рекомендуем использовать вложенные последовательности осторожно (учитывая вероятность снижения производительности узла), поскольку при каждой дополнительной паре круглых скобок PolyAnalyst сохраняет в памяти дополнительную информацию для каждого соответствия. |
Правила в PA могут быть многострочными и поддерживать локальные регулярные подвыражение (макросы): $name = выражение. Локальные регулярные подвыражения не допускаются в первой строке правила. Локальные регулярные подвыражения используют тот же синтаксис, что и глобальные макросы: $name.
Регулярные выражения в PA позволяют называть подвыражения. Используется следующий синтаксис: (?<name>выражение). На подвыражения с названием можно сослаться в обратной ссылке, используя либо \<name> либо \k<name> в поисковых правилах ($<name> or $+{name} - в правилах замены).