用于匹配 JSON 中 { } 块的正则表达式

用于匹配 JSON 中 { } 块的正则表达式

我正在处理的应用程序中的大约一百五十个文件中包含以下 JSON 片段。

        {
            path: "/cms/scenarios/:scenarioId/impacts/add",
            name: "Add Impact",
            mini: "",
            icon: faPlusCircle,
            component: ImpactsAdd,
            layout: "/admin"
        },
        {
            hide: true,
            path: "/cms/scenarios/:scenarioId/impacts/edit/:impactId",
            name: "Edit Impact",
            mini: "",
            component: ImpactsEdit,
            layout: "/admin"
        },
        {
            hide: true,
            path: "/cms/scenarios/:scenarioId/impacts/delete/:impactId",
            name: "Delete Impact",
            mini: "",
            component: ImpactsDelete,
            layout: "/admin"
        },
        {
            path: "/cms/scenarios/:scenarioId/impacts",
            name: "List Impacts",
            icon: faClipboardList,
            mini: "",
            component:ImpactsList,
            layout: "/admin"
        },

我们需要将元素放在 JSON 的底部,所以我希望做的是类似于这样的事情(伪代码):

pattern1 = {(.*)/add(.*)}
pattern2 = {(.*)/edit/(.*)}
pattern3 = {(.*)/delete(.*)}
pattern4 = {(.*)/list(.*)}    <--- needs to be moved to the top

所以我可以基本上匹配:/patt1 patt2 patt3 patt4/ - 然后用 patt4 patt1 patt2 patt3 替换。

我可以编写脚本,或者使用 IDE 进行查找/替换,我只需要找出模式。我在匹配“匹配”括号对和新行时遇到了麻烦。

我应该使用什么表达式来将括号与各自的对匹配,并重复匹配新行?

这就是我所能得到的 =(

{\n(.*)\/add"([.\n]*) (to match the 'Add' block) 

相关内容