Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用正则表达式在javascript中查找和替换所有属性,并使用无冒号的大括号_Javascript_Regex - Fatal编程技术网

如何使用正则表达式在javascript中查找和替换所有属性,并使用无冒号的大括号

如何使用正则表达式在javascript中查找和替换所有属性,并使用无冒号的大括号,javascript,regex,Javascript,Regex,我在javascript中有这个字符串 id:\'test\'\nlang:\'en\'\nresult1{\n来源:\'agent\'\n},结果2:{\n来源:\'agent\'\n} 我想找到所有正在处理{且中间没有:的单词(属性),并使用正则表达式将其替换为:{,例如,在上面的字符串中有result1和result2, 所以我只希望result1变成result1:,最终的脚本如下 id:\“test\”\nlang:\“en\”\n结果1:{\n来源:\“agent\”\n},结果2:

我在javascript中有这个字符串

id:\'test\'\nlang:\'en\'\nresult1{\n来源:\'agent\'\n},结果2:{\n来源:\'agent\'\n}

我想找到所有正在处理
{
且中间没有
的单词(属性),并使用正则表达式将其替换为
:{
,例如,在上面的字符串中有
result1
result2
, 所以我只希望
result1
变成
result1:
,最终的脚本如下


id:\“test\”\nlang:\“en\”\n结果1:{\n来源:\“agent\”\n},结果2:{\n来源:\“agent\”\n}

您可以尝试类似的方法

(\w+\s*){
  • (\w+\s*)
    -一个或多个单词字符,后跟零个或多个空格
  • {
    -匹配
    {
let str=`id:\'test\'\nlang:\'en\'\nresult1{\n源:\'agent\'\n},结果2:{\n源:\'agent\'\n}`
let replaced=str.replace(/(\w+\s*){/g,“$1:{”)

console.log(已替换)
我关心的是你为什么需要这么做,而不是怎么做。我感觉你解决了错误的问题。我从第三方收到了这些数据,我试图将其转换为有效的json,并对其进行解析,我已经使用了一半,但这个库并不能解决这个问题,所以首先我必须清理一个级别和n使用it@Reza请记住,这涵盖了一般情况,如果您拥有的字符串总是与您发布的有问题的字符串有点类似,那么它将起作用,如果您有任何其他边缘大小写更新,您的问题将扩展正则表达式:)谢谢,我试过使用我的复杂字符串,并且似乎正确