【发布时间】:2011-10-19 20:26:30
【问题描述】:
项目是一个或多个数字或字符字符串的逗号分隔列表,例如
"12"
"abc"
"12,abc,3"
我正在尝试匹配 Java 中包含零个或多个项目的括号列表,例如
""
"(12)"
"(abc,12)"
"(abc,12),(30,asdf)"
"(qqq,pp),(abc,12),(30,asdf,2),"
最后一个例子应该分别返回以下匹配组
qqq,pp
abc,12
30,asdf,2
我想出了以下(不正确的)模式
\((.+?)\)(?:,\((.+?)\))*
最后一个例子只匹配以下内容
qqq,pp
30,asdf,2
提示?谢谢
【问题讨论】:
-
你能把字符串拆分成 "),(" 并去掉剩下的括号来达到你的效果吗?
-
绝对想要
Matcher.find()。