如何使用Java Regex来查找字符串中的所有重复字符序列?

前端之家收集整理的这篇文章主要介绍了如何使用Java Regex来查找字符串中的所有重复字符序列?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用 Java和Regex解析一个随机字符串寻找重复序列.

考虑字符串:

aaabbaaacccbb

我想找到一个正则表达式,可以找到上述字符串中的所有匹配项:

aaabbaaacccbb
^^^  ^^^

aaabbaaacccbb
   ^^      ^^

什么是regex表达式,将检查字符串的任何重复的字符序列,并返回这些重复字符的组,使组1 = aaa和组2 = bb.还要注意,我使用了一个示例字符串,但任何重复的字符都是有效的:
RonRonJoeJoe
… …,…

解决方法

这样做:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
    public static void main(String[] args) {
        String s = "aaabbaaacccbb";
        find(s);
        String s1 = "RonRonRonJoeJoe ....,";
        find(s1);
        System.err.println("---");
        String s2 = "RonBobRonJoe";
        find(s2);
    }

    private static void find(String s) {
        Matcher m = Pattern.compile("(.+)\\1+").matcher(s);
        while (m.find()) {
            System.err.println(m.group());
        }
    }
}

OUTPUT:

aaa
bb
aaa
ccc
bb
RonRonRon
JoeJoe
....,---

猜你在找的Java相关文章