Notepad ++和Regex将一堆单词放入[],每个单词用引号标记并用逗号分隔

时间:2014-12-03 19:19:04

标签: regex notepad++

我有一个列表,像这样的一千行

  

“类别”:“动作,冒险,喜剧,幻想”,

     

“类别”:“动作,冒险”,
  “类别”:“动作,冒险,喜剧,戏剧,幻想,武术,神秘,超自然”,   “类别”:“动作,冒险,喜剧,幻想,心理,学校生活,超自然”,

我想进入这个

  

“类别”:[“动作”,“冒险”,“喜剧”,“幻想”]

     

“类别”:[“动作”,“冒险”]
  “类别”:[“动作”,“冒险”,“喜剧”,“戏剧”,“幻想”,“神秘”,“超自然”]   “类别”:[“动作”,“冒险”,“喜剧”,“幻想”,“心理”,“超自然”]

我尝试了一堆正则表达式,例如

("Categories":) "(\b.*?), (\b.*?), (.*), (.*), (\w+?)",

并且仍然卡住了,因为我对这个东西还是绿色的

请帮我在正则表达式中解决这个问题并感谢您的回答

2 个答案:

答案 0 :(得分:1)

分两步:

第1步:当有多个项目时,用字符串数组替换字符串

search: "Categories":\s*\K("[^",]*+[^"]+")
replace: [$1]

第2步:替换字符串中的所有逗号

search: (\G(?!^)|"Categories":\s*\[")[^",]+?\K\s*,\s*
replace: ", "

答案 1 :(得分:0)

尝试:

模式:("类别" :)(" [^"] *")

替换为:$ 1 [$ 2]

再见