Home > other >  python: regex: remove all inner round brackets yet not the outer pair
python: regex: remove all inner round brackets yet not the outer pair

Time:12-17

I am trying to write a regex pattern that removes all round brackets except the outer pair i.e (x) -> (x), (x, (x,x,x)) -> (x,x,x,x), ((x), (x,x)) -> (x,x,x) etc. I know that I should use re.substitute(pattern, '', string) yet I don't know how to specify that all round brackets except the external brackets. Could you guys please help?:3

CodePudding user response:

Just remove all the parens, and add the outer pair back:

>>> mystr = '(x,(x,x,x))'
>>> '('   mystr.replace('(', '').replace(')', '')   ')'
'(x,x,x,x)'
  • Related