删除括号正则表达式之外的所有内容

MR_*_*DEV 9 javascript regex jquery

这是我试图从中删除字符串:

var myl = 'okok{"msg":"uc_okok"}'
Run Code Online (Sandbox Code Playgroud)

结果应该是:

{"msg":"uc_okok"}
Run Code Online (Sandbox Code Playgroud)

我试过使用正则表达式

var news = myl.toString().replace(/ \{(.*""?)\}/g);
Run Code Online (Sandbox Code Playgroud)

但它不起作用?有任何想法吗?

bur*_*ete 10

如何使用以下内容;

myl.toString().replace(/.*?({.*}).*/, "$1")
Run Code Online (Sandbox Code Playgroud)

它也应该与多层括号一起使用;

str = 'okok{"msg":"uc_okok"}';
console.log(str.replace(/.*?({.*}).*/, "$1"));

str = 'adgadga{"okok":{"msg":"uc_okok"}}adfagad';
console.log(str.replace(/.*?({.*}).*/, "$1"));
Run Code Online (Sandbox Code Playgroud)


Nit*_*ang 9

我认为okok..是一个字符串

var d = 'okok{"msg":"uc_okok"}'

console.log(d.slice(d.indexOf('{'), d.lastIndexOf('}') + 1))
Run Code Online (Sandbox Code Playgroud)


Har*_*hid 5

s = 'okok{"msg":"uc_okok"}';
s = '{' + s.split('{')[1].split('}')[0] + '}';

console.log(s);
Run Code Online (Sandbox Code Playgroud)


Erd*_*sci 5

您也可以简单地提取括号之间的字符串,如下所示;

var myl = "okok{\"msg\":\"uc_okok\"}okok";
var mylExtractedStr = myl.match('\{.*\}')[0];

console.log(mylExtractedStr);
Run Code Online (Sandbox Code Playgroud)