首页 > 解决方案 > ICDI 中的 REG_EXTRACT 和 REG_REPLACE

问题描述

我正在使用 Informatica Cloud - ICDI 映射来处理 JSON 数据。

我有一个 JSON 文件,其内容如下。

[{a:1,b:2,c:3,d:4},{a:10,b:20,c:30,d:40},{a:100,b:200,c:300,d:400}]

我在表达式转换的字符串端口中有完整的 JSON 数据。现在我想用 key 提取值,或者只是从这个字符串中提取 a 和 c 的值。如何使用 REG_EXTRACT 函数将所有匹配项作为输出?或者如何使用 REG_REPLACE 消除其余字符以获得所需的输出。

预期输出:输出中的逗号和冒号是可选的。

a:1,c:3,a:10,c:30,a:100,c:300

标签: jsonregexinformatica-cloud

解决方案


看看这个样本:regex101.com

我在哪里使用这个正则表达式(?<a>a:(?<av>[^,]+))[^c]+(?<c>c:(?<cv>[^,]+))

您将获得a包含具有当前块值的孔 a 部分的组,仅包含该部分的值的组和av相同的东西ccv


推荐阅读