に、私はこのような文字列だ `" `置き換える:JavaScriptの正規表現タグ
"{"name":"joy","tag":"<img src="/1/1.png"/>hello<img src="/1/2.png">"}"
私は<>
間のすべての文字を一致させる方法を知っているが、特定の文字を置換する方法見当がつかないを私がしたいです... '
で"
を置き換える。
に、私はこのような文字列だ `" `置き換える:JavaScriptの正規表現タグ
"{"name":"joy","tag":"<img src="/1/1.png"/>hello<img src="/1/2.png">"}"
私は<>
間のすべての文字を一致させる方法を知っているが、特定の文字を置換する方法見当がつかないを私がしたいです... '
で"
を置き換える。
をあなたは
var result = "{\"name\":\"joy\",\"tag\":\"<img src=\"/1/1.png\"/>hello<img src=\"/1/2.png\">\"}".replace(/<(.*?)>/g, function(a, b){
return a.replace(/"/g, "'");
});
console.log(result);
この方法で行うことができますが、1つの正規表現内で行うことはできませんか? – passion
str = '{"name":"joy","tag":"<img src="/1/1.png"/>hello<img src="/1/2.png">"}';
ソリューション1:
res = str.match(/\<[^>]+\>/g);
for(var i = 0, l = res.length; i < l; i++){
str = str.replace(res[i], res[i].replace(/"/g, "'"));
}
ソリューション2:
!この解決策は、""
の1セットに対してのみ有効です。
res = str.replace(/(\<[^">]*)"([^">]*)"([^>]*\>)/g, "$1'$2'$3");
結果:
"{"name":"joy","tag":"<img src='/1/1.png'/>hello<img src='/1/2.png'>"}"
@Sと同じです。ガーセス。 – passion
私はjsonの文字列を単純化しました。それは '" "'の2つ以上のペアを含んでいます。 – passion
@passion私は '<>'と ' – user3335966
ので、どのように< and >内のテキストと一致したのですか? – epascarello
'/ <.*?>/g'これは問題ありません@epascarello – passion
これは正規表現1つでできますか? – passion