java中字符串拆分的正则表达式

the*_*tna 1 java regex

我有以下形式的字符串:

HOME(SPADE0) HOME(HEART0) HOME(CLUB0) BOTTOMCOL(CLUBA) ON(HEART2 CLUBA)
Run Code Online (Sandbox Code Playgroud)

我会把它分成两部分

    HOME(SPADE0)
    HOME(HEART0)
    HOME(CLUB0)
    BOTTOMCOL(CLUBA)
    ON(HEART2 CLUBA)
Run Code Online (Sandbox Code Playgroud)

在空间分裂也分裂了最后一个标记,这是我不想要的.什么可以是一个合适的正则表达式?

提前致谢!

编辑

  String[] tokens = line.split("[)]\\s+"); 
Run Code Online (Sandbox Code Playgroud)

Mar*_*nik 7

通过匹配内容而不是分隔符来更好地分割:

final Matcher m = Pattern.compile("\\w+\\(.*?\\)").matcher(input);
final List<String> matches = new ArrayList<>();
while (m.find()) matches.add(m.group());
Run Code Online (Sandbox Code Playgroud)