На процессоре ExtractText
установите Включить группу захвата 0 на false
, Включите повторяющуюся группу захвата на true
и предоставьте динамическое свойство (щелкните + 'в правом верхнем углу) с именем свойства doc_filename (или любым другим) и значением (?<=<doc_filename>)(.*?)(?=</doc_filename>)
.
Регулярное выражение работает следующим образом:
(?<=<doc_filename>) // Look-behind group to require opening tag
(.*?) // Capture any characters, lazily
(?=</doc_filename>) // Look-ahead group to require closing tag
Результирующий вывод (на основе предоставленного вами примера ввода) будет:
2019-01-25 13:15:55,379 INFO [Timer-Driven Process Thread-5] o.a.n.processors.standard.LogAttribute LogAttribute[id=01681000-d047-1f22-14da-f93157703ba1] logging for flow file StandardFlowFileRecord[uuid=6908e84b-182d-4ffc-95e4-2efe5af00911,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1548450895799-1, container=default, section=1], offset=1233, length=137],offset=0,name=6908e84b-182d-4ffc-95e4-2efe5af00911,size=137]
--------------------------------------------------
Standard FlowFile Attributes
Key: 'entryDate'
Value: 'Fri Jan 25 13:15:55 PST 2019'
Key: 'lineageStartDate'
Value: 'Fri Jan 25 13:15:55 PST 2019'
Key: 'fileSize'
Value: '137'
FlowFile Attribute Map Content
Key: 'doc_filename'
Value: 'file1.docx'
Key: 'doc_filename.1'
Value: 'file1.docx'
Key: 'doc_filename.2'
Value: 'file2.ppx'
Key: 'filename'
Value: '6908e84b-182d-4ffc-95e4-2efe5af00911'
Key: 'path'
Value: './'
Key: 'uuid'
Value: '6908e84b-182d-4ffc-95e4-2efe5af00911'
--------------------------------------------------
<doc_filename>file1.docx</doc_filename>
...other data...
<doc_filename>file2.ppx</doc_filename>
...other data...
...more doc_filenames...