正则表达式执行以下操作

时间:2015-12-09 11:01:21

标签: regex regular-language

输入字符串包含多个key[with some value],我们需要将其替换为key[with some value],val[value which is same as key]

输入字符串:

...key[102]...key[108]... key[211]...

输出字符串:

... key[102],val[102]...key[108],val[108]...key[211],val[211]...

基本上我需要用key[value],val[same value]替换所有方括号内的值。

E.g。 key[102]key[102],val[102]key[108]key[108],val[108]

1 个答案:

答案 0 :(得分:1)

您需要使用捕获组。(http://www.regular-expressions.info/brackets.html

key\[(.*?)\]

Regular expression visualization

Debuggex Demo

示例java代码(我无法测试):

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