ExtractText
Описание
Оценивает одно или несколько регулярных выражений по содержимому FlowFile. Результаты этих регулярных выражений присваиваются атрибутам FlowFile. Регулярные выражения вводятся путем добавления пользовательских свойств; имя свойства соответствует имени атрибута, в который будет помещен результат. Атрибуты генерируются по-разному в зависимости от включения именованных групп захвата. Если именованные группы захвата не включены: первая группа захвата, если она найдена, будет помещена в это имя атрибута. Но все группы захвата, включая совпадающую строку, также будут предоставлены с индексным значением, за исключением группы захвата, которая является необязательной и не совпадает - например, если имя атрибута "regex" и выражение "abc(def)?(g)", мы добавим атрибут "regex.1" со значением "def", если "def" совпадет. Если "def" не совпадет, атрибут с именем "regex.1" не будет добавлен, но будет добавлен атрибут с именем "regex.2" со значением "g", независимо от того, совпало ли "g". Если именованные группы захвата включены: каждая найденная именованная группа захвата будет помещена в имя атрибута с указанным именем. Если включено, совпадающая строка также будет помещена в имя атрибута. Если включены множественные совпадения, индекс будет применен после первого набора совпадений. Исключением является группа захвата, которая является необязательной и не совпадает. Например, если имя атрибута "regex" и выражение "abc(?<NAMED>def)?(?<NAMED-TWO>g)", мы добавим атрибут "regex.NAMED" со значением "def", если "def" совпадет. Мы добавим атрибут "regex.NAMED-TWO" со значением "g", если "g" совпадет независимо. Значение свойства должно быть допустимым регулярным выражением с одной или несколькими группами захвата. Если именованные группы захвата включены, все группы захвата должны быть именованы. Если нет, конфигурация процессора не пройдет валидацию. Если регулярное выражение совпадает более одного раза, будет использоваться только первое совпадение, если свойство, включающее повторяющуюся группу захвата, не установлено в true. Если какое-либо предоставленное регулярное выражение совпадает, FlowFile(ы) будут направлены на 'matched'. Если ни одно из предоставленных регулярных выражений не совпадает, FlowFile будет направлен на 'unmatched', и никакие атрибуты не будут применены к FlowFile.
Теги
evaluate, extract, Text, Regular Expression, regex
Свойства
Название | Описание |
---|---|
Character Set | Набор символов, в котором закодирован файл |
Maximum Buffer Size | Указывает максимальный объем данных для буферизации (для каждого файла Flow) для применения регулярных выражений. Файлы Flow, размер которых превышает указанный максимум, не будут полностью обработаны. |
Maximum Capture Group Length | Указывает максимальное количество символов, которое может содержать значение группы захвата. Все символы, превышающие максимальное количество, будут усечены. |
Enable Canonical Equivalence | Указывает, что два символа совпадают только в том случае, если совпадают их полные канонические разложения. |
Enable Case-insensitive Matching | Указывает, что два символа совпадают, даже если они написаны с заглавной буквы. Также может быть указано с помощью вст роенного флага (?i). |
Permit Whitespace and Comments in Pattern | В этом режиме пробелы игнорируются, а встроенные комментарии, начинающиеся с #, игнорируются до конца строки. Также может быть указано с помощью встроенного флага (?x). |
Enable DOTALL Mode | Указывает, что выражение «.» должно соответствовать любому символу, включая символ конца строки. Также может быть указано с помощью встроенного флага (?s). |
Enable Literal Parsing of the Pattern | Указывает, что метасимволам и экранирующим символам не следует придавать особого значения. |
Enable Multiline Mode | Указывает, что '^' и '$' должны соответствовать сразу после и непосредственно перед символом окончания строки или концом последовательности, а не только началу или концу всего ввода. Также может быть указано с помощью встроенного флага (?m). |
Enable Unicode-aware Case Folding | При использовании с параметром «Включить сопоставление без учета регистра» сопоставление выполняется в соответствии со стандартом Unicode. Также может быть указано с помощью встроенного флага (?u). |
Enable Unicode Predefined Character Classes | Указывает на соответствие техническому стандарту Юникода № 18: Приложение C к регулярному выражению Юникода: свойства совместимости. Также может быть указано с помощью встроенного флага (?U). |
Enable Unix Lines Mode | Указывает, что в поведении '.', '^' и '$' распознается только символ окончания строки ' |
'. Также может быть указан с помощью встроенного флага (?d). | |
Include Capture Group 0 | Указывает, что группа захвата 0 должна быть включена в качестве атрибута. Группа захвата 0 представляет собой всю строку, соответствующую регулярному выражению, обычно не используется и может иметь значительную длину. |
Enable repeating capture group | Если установлено значение true, будет извлечена каждая строка, соответствующая группам захвата. В противном случае, если регулярное выражение соответствует более чем одному значению, будет извлечено только первое совпадение. |
Enable named group support | Если установлено значение true, то при наличии именованных групп в регулярном выражении имя группы будет использоваться в имени атрибута, а не индекс группы. Все группы захвата должны быть именованными. Если количество групп (не считая группу захвата 0) не равно количеству именованных групп, проверка не пройдет."" |
Взаимосвязи
- unmatched: Потоковые файлы перенаправляются к этому соотношению, если ни одно из предоставленных регулярных выражений не соответствует содержимому потокового файла
- matched: Файлы потока направляются в эту связь, когда регулярное выражение успешно оценивается и файл потока изменяется в результате