java字符串拆分正则表达式保留定界符

标签 java arrays regex string

给出一个输入字符串,例如

"abbbcaababbbcaaabbca"

我想将这样的字符串拆分成一组数组 "bca""ab""a"和 " b

所以上面的例子会返回

"ab", "b", "bca", "ab", "ab", "b", "bca", "a", "ab", "bca".

我有一段 29 行的嵌套循环代码可以完成此任务(返回 ArrayList)。 但是,最好用一行正则表达式来完成这项工作。

这个任务可以用下面的方法完成吗?

stringVar.split("regEX") 

最佳答案

不是单行,但您可以使用 Matcher.find 来完成有一个循环。:

ArrayList<String> result = new ArrayList<String>();
String s = "abbbcaababbbcaaabbca";
Matcher m = Pattern.compile("bca|ab|a|b").matcher(s);
while (m.find())
    result.add(m.group());

DEMO

关于java字符串拆分正则表达式保留定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26076654/

相关文章:

Java递归函数判断两个连续数字是否相等

regex - AWS API Gateway Lambda 错误正则表达式的文档?

Javascript正则表达式选择没有特殊字符的单词

javascript - 删除除 "some"撇号以外的所有特殊字符

java - 验证月份输入 01 和 1?

java - 程序错误地打印到控制台

来自 Eclipse 的 Java 尝试资源警告

c++ - 动态创建二维数组的函数

直接来自教科书的c段错误

java - 将 spring security xml 转换为注解