捕获方括号中每个关键字的Java代码?

捕获方括号中每个关键字的Java代码?,java,regex,split,Java,Regex,Split,我将获得括号内的java代码输出,我需要检索每个关键字 在括号内 输出显示: [Eiwitten, 4,8, g] 从中,我需要检索每个关键字,如: Eiwitten 4,8 g 所以请帮助我,如何解决java编码中的问题 提前谢谢 Maroun Maroun建议的方法简单而有效,您可以使用它,但使用这种模式:\\[([^]]+])] 如果要使用单个图案进行此操作: (?:\\G(?!\\A)|\\[(?=[^]]*]))(.+?)(?:, |(?=])) 如果您知道方括号是平衡的,可以使

我将获得括号内的java代码输出,我需要检索每个关键字 在括号内

输出显示:

[Eiwitten, 4,8, g]
从中,我需要检索每个关键字,如:

Eiwitten
4,8
g
所以请帮助我,如何解决java编码中的问题


提前谢谢

Maroun Maroun建议的方法简单而有效,您可以使用它,但使用这种模式:
\\[([^]]+])]

如果要使用单个图案进行此操作:

(?:\\G(?!\\A)|\\[(?=[^]]*]))(.+?)(?:, |(?=]))
如果您知道方括号是平衡的,可以使用以下方法缩短:

(?:\\G(?!\\A)|\\[)(.+?)(?:, |(?=]))
注意:这两种模式不允许空项。

试试这个

 String str ="[Eiwitten, 4,8, g]";
        str = str.replaceAll("\\[", "");
        str = str.replaceAll("\\]", "");
        String[] split = str.split(", ");
        for(int r = 0 ; r <split.length ; r++){
            System.out.println(split[r]);
        }
String str=“[Eiwitten,4,8,g]”;
str=str.replaceAll(“\\[”,”);
str=str.replaceAll(“\\]”,“”);
String[]split=str.split(“,”);

对于(int r=0;r,您还可以使用此模式捕获
“,”

, |([^\]\[]+?)(?=, |\])


\[(.+)\]
然后
拆分
?我得到了解决方案:Eiwitten 4,8 g。谢谢Miya。
,               # ", "
|               # OR
(               # Capturing Group (1)
  [^\]\[]       # Character not in [^\]\[]
  +?            # (one or more)(lazy)
)               # End of Capturing Group (1)
(?=             # Look-Ahead
  ,             # ", "
  |             # OR
  \]            # "]"
)               # End of Look-Ahead