1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
   |  
String[] patterns = {"([b\\.][r\\.][o\\.][s\\.])",
    "([b\\.][r\\.][o\\.][c\\.])",
    "([b\\.][a\\.][l\\.][l\\.][o\\.][n\\.])",
    "([b\\.][a\\.][l\\.][l\\.][o\\.][n\\.][s\\.])"};
String line = ".br.c.....ba....";
for (String pattern : patterns) {
    Pattern p = Pattern.compile(pattern);
    Matcher m = p.matcher(line);
    if (m.find()){
        if (m.groupCount() > 0){
            for (int i = 1; i <= m.groupCount(); i++) {
               // Mais reste le probleme des mots uniquement composes de points...
                    if (m.group(i).replaceAll("\\.", "").length() > 0){
                        System.out.println("pattern "+pattern+" "+m.group(i)+", start: "+m.start(i)+", end: "+m.end(i));
                    }
               }
        }
    }
} | 
Partager