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

我的正则表达式不太好。 执行以下操作的正确配置是什么

  • 从文本中删除反斜杠
  • 将“{”替换为{
  • 将}“替换为}”
  • 基本上我需要清理逃逸的JSON

    像以前一样:

     "{\"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我应该同时使用这两种还是其中一种?