2

I am trying to figure out how to make a regex that can match spaces in between braces. So that these exact white spaces could be removed.

SOMETHING({ 1, 2, 3, 4, 5 },{ 2, 4, 6, 8, 10 }, "My text with spaces)

should be come

SOMETHING({1,2,3,4,5},{2,4,6,8,10}, "My text with spaces)

I am not strong in regex and I tried to adapt the following function without luck. It gets the value between curly brackets, but I am not sure what to do to select only the white spaces between these brackets

str.replace(/[^{\}]+(?=})/g,'');

Selected solution

str.replace(/\s+(?=[^{}]*})/g,'');
  • 1
    See https://regex101.com/r/TBgcPp/1 and certainly https://regex101.com/r/TBgcPp/1/codegen?language=javascript – Wiktor Stribiżew Jan 11 '22 at 13:34
  • I'd use this variant: [`str = str.replace(/\{[^}{]+}/g, m => m.replace(/ +/g, ''));`](https://tio.run/##RYxNC4JAGITv/oqhyyq9afaFEHaL6mAd6tYHiCxmrCnuYsXib99WOnQZZp5h5pG2qcyaolajNjLGEVxBqgYx2PGQrE/b3X7jaoSECWFKmBHm6Ej30foFISKEY4swSD5Q/K3wKtQdsk4zLj22dJzfn1W/4bWw2A0u@nzr9HXYBTmhRLxC@S8x7CljnmfHWfWUleC@qHLXXlhkzBc) – bobble bubble Jan 11 '22 at 13:55
  • You can do : str.replace(\s+(?=[^}]*}), '') ; Will work providing : Brackets are balanced + No brackets are nested – TomVerdier Jan 11 '22 at 13:56

0 Answers0