替换括号中没有用引号括起来的字符

时间:2016-08-10 11:11:41

标签: javascript regex

我正在尝试将=替换为:,它位于大括号中,不在单引号或双引号内(将c#构造函数转换为javascript}:

{name = 'John', something = "a=1", another = 'b=1'}

结果将是:

{name : 'John', something = "a=1", another = 'b=1'}

我已经尝试了很多,这是我想出的最后一件事,但与我想要的完全相反(仅更改引号中的那些)

 ss = ss.replace(/({[^}]+([^'"]))(=)((?:[^'"])(?:[^}]+)})/g, '$1:$4');

这就是结果:

  

{name ='John',something =“a = 1”,another ='b:1'}

和这个

/({[^}]+([^'"]))(=)((?:\2)(?:[^}]+)})/g

根本不匹配

1 个答案:

答案 0 :(得分:1)

你可以试试这个,

powershell