VSCode正则查找替换:如何匹配单组的多个匹配项?
在VSCode中批量将任意长度数组转换为指定对象结构
直接用VSCode的正则查找替换就能搞定,分两步操作:
第一步:转换外层结构
- 打开查找替换面板(快捷键
Ctrl+H),点击面板里的.*按钮开启正则模式 - 在「查找」框输入:
array: \[([^\]]+)\], - 在「替换」框输入:
objects: {\n $1\n}, - 点击「替换」(单条处理)或「全部替换」(批量处理所有匹配项)
这一步会把数组的外层框架换成目标的对象结构,同时把数组内的所有元素内容提取出来放到大括号中间。
第二步:批量转换每个元素为对象
- 保持正则模式开启,在「查找」框输入:
'([^']+)'(,)? - 在「替换」框输入:
{\n name: '$1',\n }$2 - 点击「全部替换」,所有数组元素都会自动转换成目标的对象格式
正则说明
- 第一步的查找正则:
array: \[精准匹配数组的开头([^\]]+)捕获数组内的所有内容(直到遇到]为止)\],匹配数组的结尾
- 第二步的查找正则:
'([^']+)'捕获单引号包裹的元素名称(,)?捕获元素后面的可选逗号,保留元素间的分隔符
最终就能得到你需要的格式:
objects: { { name: 'thing1', }, { name: 'thing2', }, { name: 'thing3', }, }
内容的提问来源于stack exchange,提问作者Andrew Gielow
相关产品推荐
相关产品推荐

