我有一个像这样的字符串
一些文字 “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
答案 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