正则表达式替换固定字符串后的单词

时间:2015-07-09 08:10:54

标签: javascript regex string

我有一个像这样的字符串

一些文字 “myKey”:myValue, 其他一些文字

我想找到“mykey”的所有内容:myValue,并替换为

fixedText1 “myKey” fixedText2 fixedText3 myValue fixedText4

我知道要改变的键而不是值......(键是固定的)

简单地说,我想用一些html标签包围密钥和值,仅用于特定的密钥。

你能帮我找一个匹配的常规前锋吗?

我尝试从javascript中的这个例子开始,用2个字没有成功

var re = /(\w+)\s(\w+)/;
var str = "zara ali";
var newstr = str.replace(re, "$2, $1");

非常感谢!

的Alessandro

2 个答案:

答案 0 :(得分:0)

你怎么看待awk?

cat test.txt | awk '{gsub(/"myKey/, "fixedText1\"myKey"); gsub(/:myValue/, "fixedText2 : fixedText3 myValue"); print'}

答案 1 :(得分:0)

"([^"]+)"[ :]+"?([\w+ ]+)"?

此正则表达式将捕获与

类似的键/值
"myKey":myValue
"anotherKey": Another Value
"myNewKey": "New Value"
"numberKey" : 23

它假设key被双引号括起来,但value可以是任意字符A-Z0-9_ or space,可选择用双引号括起来。

然后根据您的示例使用$1$2插入新字符串

请参阅demo here