【发布时间】:2018-05-10 06:06:49
【问题描述】:
我有以下文字:
"BOONS": ["Debarrier+Rainbow Shift"
},
"CLUTCH_BOONS": [
"Boost+Wall"
],
正则表达式:
(?<=[A-Z a-z])(\+)(?=[A-Z a-z])/g
使用 That 我能够捕获所有的 +,这很棒,但我只想捕获“CLUTCH_BOONS”中的 + 符号,我已经非常努力地尝试了,但收效甚微。
我也想关闭“BOONS”括号,我设法让左侧正常但无法获得正确的报价
(?<=.*)(\")(?=.*\})
最终结果应该是这样的
"BOONS": ["Debarrier","Rainbow Shift"]
},
"CLUTCH_BOONS": [
"Boost","Wall"
],
(我试图使用 Atom / regexr 来修复有问题的 json)
【问题讨论】:
-
如果您只想捕获
"CLUTCH_BOONS"内部的+标志,为什么在预期结果中修改此块之外的+s? -
我尝试制作两个正则表达式,一个用于修复括号问题,另一个用于创建“,”
-
但我只想捕获“CLUTCH_BOONS”中的 + 符号,这与您想要的输出不符。
-
我认为拆分问题可能更容易,更合乎逻辑,底部是我想要的结果
-
然后你可以用
\[(?:(?!\s*},)[\s\S])*\K(\s*},)来关闭括号。现场演示regex101.com/r/y3zqTw/1