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

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

考虑字符串:

aaabbaaacccbb

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

  1. aaabbaaacccbb
  2. ^^^ ^^^
  3.  
  4. aaabbaaacccbb
  5. ^^ ^^

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

解决方法

这样做:
  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3.  
  4. public class Test {
  5. public static void main(String[] args) {
  6. String s = "aaabbaaacccbb";
  7. find(s);
  8. String s1 = "RonRonRonJoeJoe ....,";
  9. find(s1);
  10. System.err.println("---");
  11. String s2 = "RonBobRonJoe";
  12. find(s2);
  13. }
  14.  
  15. private static void find(String s) {
  16. Matcher m = Pattern.compile("(.+)\\1+").matcher(s);
  17. while (m.find()) {
  18. System.err.println(m.group());
  19. }
  20. }
  21. }

OUTPUT:

  1. aaa
  2. bb
  3. aaa
  4. ccc
  5. bb
  6. RonRonRon
  7. JoeJoe
  8. ....,---

猜你在找的Java相关文章