Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

python

regex

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.

like image 628
akai Avatar asked Sep 19 '16 04:09

akai


1 Answers

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

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

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

like image 192
vks Avatar answered Oct 24 '22 15:10

vks