【发布时间】:2019-03-27 11:10:35
【问题描述】:
我有一个要解析的字符串。 字符串是这样的:-
00:0qwe8.0 donald controller duck [02009&123@##]: Some more sring here Model number 420 Family [Super-cool] [15b31013^^@#][15b:31013]
请注意,最后一个方括号中有一个 : 冒号。 Some More 之前的字符也是冒号。我想捕捉他们之间的所有角色。
目前我用下面的正则表达式分两步解析它。这是java代码。
class JavaReg{
public static void main(String[] args){
String str = "00:0qwe8.0 donald controller duck [02009&123@##]: Some more sring here Model number 420 Family [Super-cool] [15b31013^^@#][15b:31013]";
String[] strArr = str.split("\\[.*?\\]\\:\\s");
String[] str12 = strArr[1].split("\\[\\w*?\\:.*");
for(String strinj : strArr)
System.out.println(strinj);
System.out.println(str12[0]);
}
}
以下是上述练习的结果。
00:0qwe8.0 donald controller duck
Some more sring here Model number 420 Family [Super-cool] [15b31013^^@#][15b:31013]
Some more sring here Model number 420 Family [Super-cool] [15b31013^^@#]
最后一个字符串是我想要的。它从冒号 : 开始捕获,然后一直捕获到有冒号的方括号。
问题是我可以在正则表达式中使用捕获组来一次捕获它。 如何在 Java 中做到这一点?
【问题讨论】:
-
不,这不是重复的。它有自己的独特性。
标签: java regex regex-group