У меня есть XML-документ ниже. Я хочу вырезать все теги между <TXT>
и </TXT>
, чтобы создать текстовый тег в NiFi, чтобы текст читался как предложение. Я попробовал следующий шаблон регулярных выражений в процессоре ReplaceText в NiFi, но процесс не удался - даже при том, что он захватил полный текстовый раздел на regex101.com. Что я сделал не так?
Клиент предпочел бы использовать для этого встроенные процессоры NiFi, а не реализовывать сценарий.
Regex
<TXT.*>((.|\n)*?)<\/TXT>$
XML
<DOC>
<ID>12345</ID>
<TXT>
<A><DESC type="PERSON">George Washington</DESC> lived in a house called <DESC type="PLACE">Mount Vernon</DESC></A>
</TXT>
</DOC>
конфигурации ReplaceText следующие
Search Value: <TXT.*>((.|\n)*?)<\/TXT>$
Replacement Value: <RAW>$1</RAW>
Character Set: UTF-8
Maximum Buffer Size: 1 MB
Replacement Strategy: Regex Replace
Evaluation Mode: Entire text
Идеальный вывод
<DOC>
<ID>12345</ID>
<RAW>George Washington lived in a house called Mount Vernon</RAW>
</DOC>