Регулярное выражение для захвата между двумя словами, а затем в этом результате - PullRequest
0 голосов
/ 10 мая 2018

У меня есть следующий текст:

"BOONS": ["Debarrier+Rainbow Shift"
},
"CLUTCH_BOONS": [
  "Boost+Wall"
],

Regex:

(?<=[A-Z a-z])(\+)(?=[A-Z a-z])/g

Используя это, я способен захватить все +, что здорово, но я хочу толькочтобы захватить знаки + внутри "CLUTCH_BOONS", я очень старался с небольшим успехом.

Я также хочу закрыть скобку "BOONS", мне удалось заставить левую сторону работать правильно, но я не могу получитьправильная цитата

(?<=.*)(\")(?=.*\})

конечный результат должен выглядеть следующим образом

"BOONS": ["Debarrier","Rainbow Shift"]
},
"CLUTCH_BOONS": [
  "Boost","Wall"
],

(я пытался использовать Atom / regexr для исправления проблемного json)

1 Ответ

0 голосов
/ 10 мая 2018

Для знаков плюс вы можете использовать это регулярное выражение:

"\w+": \[\s*"\w+\K\+

см. Здесь:

https://regex101.com/r/fJSl37/1

и для второго:

"(\s*)},

см. Здесь:

https://regex101.com/r/Oy0CiJ/1

...