我正在使用NiFi中的一些CSV,我的流水线正在产生一些副本。因此,我想使用DetectDuplicate
处理器,但为了做到这一点,我需要有一些属性,它可以与之进行比较以检测重复。我有一个ExtractText处理器,我想使用正则表达式来获取SHA1_BASE16
列中的值。
我在下面的CSV上尝试了下面的regex字符串(由一个朋友建议,我不完全理解),但突出显示了不正确的字段和一些无关的东西。如何才能让它只捕获SHA1_BASE16
值?
RegEx
^[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([^,]*),[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,([^,]*),[^,]*,[^,]*,([^,]*)\S*
CSV
"USER_JID","CREATED_AT","UPLOAD_TIME","SHA1_BASE32","SHA1_BASE16","HASH_SOURCE","MESSAGE_TYPE","IPV4"
"dreynolds","1932/04/01 20:23:35 UTC","2016/12/28 20:23:11 UTC","72F20077A79A0D4D90F4C0669FB6EA4BC5953293","FB1D928B83DEBCD2B2E53DF4C8D4C2AF99EB81E0","HOLLYWOOD","TWITTER","123.123.123.123"
实际输出
Match 1
Full match 0-291 "USER_JID","CREATED_AT","UPLOAD_TIME","SHA1_BASE32","SHA1_BASE16","HASH_SOURCE","MESSAGE_TYPE","IPV4...
Group 1. 66-79 "HASH_SOURCE"
Group 2. 209-251 "FB1D928B83DEBCD2B2E53DF4C8D4C2AF99EB81E0"
Group 3. 274-291 "123.123.123.123"
期望的输出
Match 1
Full match 0-291 "USER_JID","CREATED_AT","UPLOAD_TIME","SHA1_BASE32","SHA1_BASE16","HASH_SOURCE","MESSAGE_TYPE","IPV4...
Group 1. 209-251 "FB1D928B83DEBCD2B2E53DF4C8D4C2AF99EB81E0"
https://stackoverflow.com/questions/56448999
复制相似问题