输入:
2 43: 72: Y
期望的输出:
ArrayList<String> resultArr = { "2", "43:", "72:", "Y" };
我当前创建这个数组的代码是......
String stateString = "2 43: 72: Y";
String stateStringFinder = "\\s*(\\S+)(\\s*(\\S+))+";
Pattern stateStringPattern = Pattern.compile(stateStringFinder);
Matcher matcher = stateStringPattern.matcher(stateString);
while(matcher.find()) {
resultArr.add(matcher.group());
}
但是 resultArr 的内容是{ "2 43: 72: Y" }
,这表明我的正则表达式过于贪婪,并且匹配整个字符串。
我怎样才能将它分解,以便它放入 中的每个“子字符串” stateString
,同时忽略空格?