Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
606 views
in Technique[技术] by (71.8m points)

python - 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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
,(?![^(]*))

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...