我是Apache NiFi的新手,我正在尝试解决以下问题:
我有一个以下格式的文件:
@RTOajvnodsnvodsvdsonbbvoiroi
uvdsoiuvoibvds
@RBCinbdiuvidsnb
每一行都以换行符结束。第一行和最后一行是页眉和页脚行。我需要检查页眉和页脚行是否分别有@RTO和@RBC。如果是,我需要路由流文件。
我正在尝试使用RouteOnContent
处理器来实现此目的,使用正则表达式(@RTO)[\\S\\s\\w\\W]*(@RBC)[\\S\\s\\w\\W]*
。我用Java测试过它,但它在NiFi中不起作用。
答案 0 :(得分:1)
我认为你的正则表达不足以匹配换行符。我创建了一个template,其中包含工作版本(\A(@RTO)(.*\n)*(@RBC).*\z
)。此模板生成流文件并使用以下任一方法填充它们:
然后相应地路由它们。我把你的描述作为"页眉和页脚呈现"或者"其他",但您可以修改以满足您的需求。