2015-07-09 12 views
0

У меня есть строка, как этотRegex заменить слово после фиксированной строки

некоторый текст«MYKEY»: MyValue,другой текст

Я хотел бы найти все occourrence из "MyKey": MyValue, и заменить

fixedText1"MYKEY"fixedText2: fixedText3MyValuefixedText4

Я Kwon ключи, чтобы изменить, но не значения ... (ключи фиксированы)

кратко I'like окружать ключ и значение с некоторым тегом html, только для определенного ключа.

Вы можете помочь мне найти нормального партнера?

я пытаюсь запустить из этого примера в JavaScript с 2 слова без успеха

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

Спасибо большое!

Alessandro

ответ

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

Это регулярное выражение будет захватывать ключи/значения, аналогичные

"myKey":myValue 
"anotherKey": Another Value 
"myNewKey": "New Value" 
"numberKey" : 23 

Он принимает key окружен двойными кавычками, но value может быть любым символом слова A-Z0-9_ or space, возможно, окруженный двойной -кавычки.

Затем используйте $1 и $2 для вставки в новую строку, как в вашем примере

см demo here

+0

Идеально, это то, что мне нужно. Спасибо! – Alessandro

0

Что вы думаете о awk?

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

Я использую его в яваскрипта функции ... цель состоит в цвет какой-то конкретной области в log (обычный текст) tha имеет некоторый json write in ... – Alessandro

+0

Я забыл ... Спасибо :) – Alessandro

Смежные вопросы