首页 > 解决方案 > 考虑动态文本的 ABAP 正则表达式

问题描述

我有一个字符串,其中包含:

{"id":"ID_A","name":"Test","visible":false},{"id":"ID_B","name":"Hallo","visible":false},...

我想替换 ID_A 的可见值,使其变为:

{"id":"ID_A","name":"Test","visible":true},{"id":"ID_B","name":"Hallo","visible":false},...

ID 始终相同。我不想更改所有其他对象的可见参数(例如 ID_B)。

重要提示:name 属性的值是动态的。所以我需要一些适用于 name 属性的不同值的正则表达式。

此外,我不能指望 ID_A 对象总是第一个。也许顺序可以改变。

由于我不是正则表达式专家,如果有人可以提供帮助,我会很高兴。

标签: regexabap

解决方案


我从未使用过 ABAP,但可以帮助您实现所需的通用正则表达式是这样的:

((?<="id":"ID_A").*?"visible":)false([,}].*)

然后,您需要在使用正则表达式中的捕获组时进行替换。

你可以在这里找到一个例子:https ://www.regextester.com/?fam=115947

只需打开“替换”部分并输入$1true$2


推荐阅读