【发布时间】:2012-03-12 16:48:48
【问题描述】:
假设我有以下输入:
Tonic,Love,(Original,Mix),house,dance,ton!c
这是我想要得到的规则:
- 所有逗号分隔单个关键字,除非 #2 为真。
- 圆括号之间的逗号无效。
- 所有圆括号将关键字组合为一个关键字。
我现在有以下正则表达式:
#([\(?.*?\)])|(.*?),#
我最终得到这样的结果:
Tonic
Love
(Original
Mix)
house
dance
和用逗号分割一样,只是我丢失了最后一个关键字ton!c。我不要求这一切都发生在一个正则表达式中,但这是首选。
【问题讨论】:
-
将正则表达式中的最后一个逗号替换为
,|$,以免丢失最后一个值。 -
你是不是也输了(Original,Mix),因为这需要基于#2 的 SINGLE 关键字?