【发布时间】:2019-10-17 14:34:25
【问题描述】:
我有这样的输入:
apple, orange, (pear, banana, grape), mango
我想拆分为:
apple
orange
(pear, banana, grape)
mango
我不完全理解正则表达式,但我想我会使用我在这里找到的 ,(?![^()]*)) - Java split string on comma(,) except when between parenthesis ()
我使用的是 VBA,所以如果我将输入存储在一个数组中,我通常会这样做:
array = Split(string, ",")
但这会产生如下结果:
apple
orange
(pear
banana
grape)
mango
我不想要的。
我很确定我可以找到一种方法来替换 ( 和 ),使它们从输出中消失,但我不知道如何将我的正则表达式字符串逻辑提供给我的 VBA 公式。
我认为这样的事情会起作用:
array = Split(string, ",(?![^()]*\))")
但事实并非如此。我确实启用了“Microsoft VBScript Regular Expressions 5.5”参考,但它似乎没有帮助。
感谢任何建议。
谢谢,
【问题讨论】: