Je suis en train de convertir du code de Javascript en Java et j'ai trouvé une expression régulière qui, en Java, ne fonctionne pas comme prévu (en utilisant la classe standard Patronage ).
Cela fonctionne bien en perl, en js et aussi en Cocoa avec NSRegularExpression.
Le reg exp est ([a-z]*) ([0-9]*)
et le code java est montré ci-dessous
Il doit correspondre à deux groupes séparés par un espace, le premier groupe ne contenant que des lettres, le second que des chiffres.
public static void main(String[] args) {
Matcher matcher = Pattern.compile("([a-z]*) ([0-9]*)").matcher("hello 101");
while (matcher.find()) {
for (int i = 0; i < matcher.groupCount(); i++) {
System.out.println(i + ": " + matcher.group(i));
}
}
}
Le groupe numérique n'est jamais renvoyé. Quel est le problème ?