Skip to main content

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: Файлы потока направляются в эту связь, когда регулярное выражение успешно оценивается и файл потока изменяется в результате