Regex 要执行以下操作的正则表达式

Regex 要执行以下操作的正则表达式,regex,regular-language,Regex,Regular Language,输入字符串包含多个键[with some value],我们需要将其替换为键[with some value],val[value,与键相同] 输入字符串: ...key[102]...key[108]... key[211]... ... key[102],val[102]...key[108],val[108]...key[211],val[211]... 输出字符串: ...key[102]...key[108]... key[211]... ... key[102],val[102

输入字符串包含多个键[with some value],我们需要将其替换为键[with some value],val[value,与键相同]

输入字符串:

...key[102]...key[108]... key[211]...
... key[102],val[102]...key[108],val[108]...key[211],val[211]...
输出字符串:

...key[102]...key[108]... key[211]...
... key[102],val[102]...key[108],val[108]...key[211],val[211]...
基本上,我需要用key[value],val[same value]替换方括号内的所有键


例如,键[102]→ 键[102]、值[102]和键[108]→ 键[108],val[108]。

您需要使用捕获组

示例java代码我无法测试它:

var str = "...key[102]...key[108]... key[211]...";
System.out.println( (str.replaceAll("key\\[(.*?)\\]", "key[$1],val[$1]") );