akai akai - 2 months ago 5
Python Question

Regex: match only outside parenthesis (so that the text isn't split within parenthesis)?

I have a target string which looks like this:

"foo (foo, foofoo), bar (foobar), foo, bar (barbar, foo), bar, foo"


and I want:

["foo (foo, foofoo)", "bar (foobar)", "foo", "bar (barbar, foo)", "bar", "foo"]


by splitting the target at
", "
only outside the parenthesis. What is the regex to match the commas outside the parenthesis? In my case, nested parenthesis do not appear and I don't have to consider them.

I personally use Python but any language example is fine.

vks vks
Answer
,(?![^(]*\))

You can use this to split.See demo.This holds true as u said there are no nested ().

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

Comments