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