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

时间:2016-09-19 04:25:36

标签: python regex

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

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

我希望:

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

仅在", " 处将目标分割为括号。与括号外的逗号匹配的正则表达式是什么?就我而言,嵌套的括号没有出现,我也不必考虑它们。

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

2 个答案:

答案 0 :(得分:6)

SELECT COUNT(*) AS NUMCUSTOMERS FROM CUSTOMERS
WHERE COUNTRY = 'USA'

你可以用它来分割。看看demo。这是正确的,因为你说没有嵌套的,(?![^(]*\))

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

答案 1 :(得分:1)

您可以使用它来提取匹配项。假设没有嵌套的()

(\w+(?: \([^\)]*\))?)

https://www.regex101.com/r/gR6jF1/1

相关问题