记录一次在vscode使用正则批量替换代码

252 阅读1分钟

前言

最近做了个小需求,第一步就是要把以前用ts文件写的配置文件,改成json文件,ts代码的格式如下代码

export default [
    {
        aa: 'aa',
        children: [
            {
                a1: 'a1',
            },
            {
                a2: 'a2',
            },
        ],
    },
    {
        bb: 'bb',
    },
    ...
]

直接动手修改

先把这些文件后缀全部由ts改为了json,然后发现了满篇红。
分析原因:
    json的key名需要带双引号,
    value也需要由单引号改为双引号,
    对象或者数组的最后一项不写逗号,

思考

文件太多,一个一个改我又太懒,这时我想到vscode可以正则替换,只需要我匹配所有的key值,并在前后各加一个双引号替换掉就行。

技术要点

搜索的正则表达式写在()里,在替换结果中可以使用$1代表正则表达式的匹配值,可以使用多个(),就有$2, $3 ...依次代表匹配值

替换过程,直接上图

  1. 给key名加引号

image.png

  1. 对象或者数组的最后一项不写逗号

image.png

  1. 单引号替换为双引号, 开头的export default 替换为空

这样主要工作就做完了,得到了json文件