Попытка добавить тег к входящему файлу nifi json.
Ввод:
[{"HIT":"DUMMY_3","BatchId":"jkajks981n-1280189nd-129dnbj-2349nbfk","Id":"81274376231"}]
Ожидаемый вывод:
[{"nifi_received_ts_est":"2018-10-04 09:31:50.108","HIT":"DUMMY_3","BatchId":"jkajks981n-1280189nd-129dnbj-2349nbfk","Id":"81274376231"}]
Пробовал разные методы и сейчас близок к этому:
Search Value: ^([^\[]*)
Replacement Value: [{"nifi_received_ts_est":"${now():format("yyyy-MM-dd HH:mm:ss.SS")}"\,$2
Replacement Strategy: Regex Replace
Evaluation Mode: Entire Text
Но результатэто не то, что ожидается.получение ниже:
[{"nifi_received_ts_est":"2018-10-04 09:31:50.108",$2[{"HIT":"DUMMY_3","BatchId":"jkajks981n-1280189nd-129dnbj-2349nbfk","Id":"81274376231"}]
Никогда не было хорошо в регулярном выражении ... :( Может кто-то помочь с правильной фразой для поиска и замены? Также, если кто-то может объяснить регулярное выражение и как группировка выполняется, это поможетхорошо. Возможно, хорошая справочная таблица. Что такое хороший сайт для тестирования и анализа определенных выражений регулярных выражений nifi?
РЕШЕНИЕ: Если это поможет кому-то найти шаблон: Значение поиска: ^ (. *?) [{(будет выполнять ленивый поиск до тех пор, пока не найдет первый '[{' и группирует вещи до $ 1), поэтому замена будет: $ 1 {"nifi_received_ts_est": "$ {now (): format (" гггг-ММ-дд ЧЧ: мм: сс.SS ")}",