Regex 正则表达式查找并替换所有单词

Regex 正则表达式查找并替换所有单词,regex,replace,Regex,Replace,Reg-ex总是让我困惑,加上超简单的语法很难用谷歌搜索。我在这里严格使用reg-ex,使用查找和替换,不需要任何语言来执行某些reg-ex,只是想节省编辑大量数据的时间:) 我有一个巨大的json文件,这只是两段数据,但对于这个例子来说很好 [ { name: 'John', team: 'Wolves', team_id: 1, number: 24 }, { name: 'Kevin',

Reg-ex总是让我困惑,加上超简单的语法很难用谷歌搜索。我在这里严格使用reg-ex,使用查找和替换,不需要任何语言来执行某些reg-ex,只是想节省编辑大量数据的时间:)

我有一个巨大的json文件,这只是两段数据,但对于这个例子来说很好

[
    {
       name: 'John',
       team: 'Wolves',
       team_id: 1,
       number: 24
    },
    {
       name: 'Kevin',
       team: 'Rockets',
       team_id: 1,
       number: 6
    }
]
在我的json中,我需要在几乎每个键上加双引号:值对,数字是可选的

我需要去掉单引号,然后在所有东西上加双引号

最终结果如下所示。

[
    {
       "name": "John",
       "team": "Wolves",
       "team_id": "1",
       "number": "24"
    },
    {
       "name": "Kevin",
       "team": "Rockets",
       "team_id": "1",
       "number": "6"
    }
]
同样,数字是可选的,但如果知道如何将这些数字加倍,那就太好了


额外:我隐约记得有一段时间我做过类似的事情,但我找不到我在哪里找到的信息。这将是一个很好的参考。是否有人有任何关于regex基础知识的好链接,我只是想在处理大量数据时节省时间。谢谢。

试试下面这句话:

(\w+):\s*('?)([^']+?)\2(?=[\n,])
并替换为
“\1”:“\3”

演示:

编辑:
刚刚在Sublime中测试过,似乎效果不错。

好吧,确切的语法取决于工具。如果您使用的是
vim
,例如:

:%s/'\([^']*\)'/"\1"/g


可能会这样做,尽管您希望手动检查任何引用的引号。

您应该标记该语言以获取更多信息,这样用户就知道您使用的是哪种语言。我标记了“查找”和“替换”,它实际上将其改为“替换”,但您指的是json还是我使用的javascript?这些其实并不重要,不是吗?大多数文本编辑器都带有“查找并替换”选项,该选项允许更轻松的代码编辑。这就是我将使用的reg渗出崇高的文本,如果这是重要的?我只需要一些简单的查找语法,然后用语法替换。我以前使用过简单的语法,但它太简单了,很难找到lol.javascript是一个很好的公开标签,如果你正在使用的话。对于你所有的正则表达式需求:酷,谢谢,正则表达式很强大,但它看起来很混乱,我想代码中有一张笑脸。让我试试,我打赌它能用。我没法让它工作,可能没有给出足够的规格。我会继续尝试,虽然1+因为我打赌这是有效的,只是做了一些愚蠢的事。谢谢这看起来更清楚一点,我认为,仍然看起来混乱,让我试试这个,谢谢演示!!我真的很喜欢这个链接它解释了正则表达式。。。这是很酷的1+也许我可以学到一点,但在这里。书签的网站,打赌它会派上用场。它在网站上运行得很好,我无法让它在sublime中运行,可能是我正在做的事情。我刚刚把我的json粘贴到那个网站上,效果很好。我很高兴它成功了。如果您想了解更多信息,请使用调试器查看正则表达式是如何工作的:--顺便说一句,我让它在Supreme中工作。谢谢,我有点这样做,正则表达式看起来很混乱,但我打赌它没那么糟糕,它非常有用,所以谢谢。
:%s/^\([ ^I]*\)\([^ ^I]*\):/\1"\2":/