Regex 替换文本处理器配置
我的正则表达式不太好。 执行以下操作的正确配置是什么Regex 替换文本处理器配置,regex,apache-nifi,Regex,Apache Nifi,我的正则表达式不太好。 执行以下操作的正确配置是什么 从文本中删除反斜杠 将“{”替换为{ 将}“替换为}” 基本上我需要清理逃逸的JSON 像以前一样: "{\"hashtags\":[{\"text\":\"Apple\",\"indices\":[45,51]}],\"urls\":[{\"url\":\"\",\"expanded_url\":\"\",\"display_url\":\"owler.us/abdLas\",\"indices\":[64,87]}],\"user_me
"{\"hashtags\":[{\"text\":\"Apple\",\"indices\":[45,51]}],\"urls\":[{\"url\":\"\",\"expanded_url\":\"\",\"display_url\":\"owler.us/abdLas\",\"indices\":[64,87]}],\"user_mentions\":[],\"symbols\":[{\"text\":\"AAPL\",\"indices\":[88,93]}]}",
之后:
{"hashtags":[{"text":"Apple","indices":[45,51]}],"urls":[{"url":"","expanded_url":"","display_url":"owler.us/abdLas","indices":[64,87]}],"user_mentions":[],"symbols":[{"text":"AAPL","indices":[88,93]}]},
提前感谢。您可以使用:
replaceAll("\"[{]", "{");
replaceAll("[}]\"", "}");
没有必要逃避这个反斜杠,因为它不是正则表达式反斜杠
解释
匹配一个文本\“
”
与[}]
匹配。我选择使用括号而不是邪恶的Java逃脱}
- 搜索值:\ 替换值:设置了空字符串 二,。 搜索值:“{ 替换值:{ 三,。 搜索值:}”
- NiFi用户组的这一建议效果良好:
3个文本处理器相继更换:
替换值:}根据ApacheNIFI支持JAVA正则表达式..因此可以使用
replaceAll([{}]),“$1”)
和replaceAll(“\\”,”)
@rock321987我将搜索值设置为\”([{}]),替换值设置为$1,并添加2个反斜杠,而不是删除。{“tag”:“\”{\\\\“hashtags\\\”:[],\\\\“url\\”:[{\\\“url\\”…对不起..你应该使用replaceAll([{}]),“$1”)
和replaceAll(\\\”,”)
之后更新我trying@rock321987我应该同时使用这两种还是其中一种?