python – 正则表达式:仅在括号外匹配(以便文本不在括号内分割)?

我有一个目标字符串,如下所示:

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

而且我要:

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

通过将目标分成“,”仅在括号外.与括号外的逗号匹配的正则表达式是什么?在我的情况下,嵌套的括号不会出现,我不必考虑它们.

我个人使用Python,但任何语言示例都可以.

最佳答案

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

您可以使用它来拆分.参见demo.这是正确的,因为你说没有嵌套().

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

点赞