Bonjour,
J'ai un problème avec l'utilisation des expressions régulières en Java. Je cherche à capturer le contenu des groupes du type ( )*.
En effet, si j'utilise une chaîne du type "1+2-3+4" et l'expression régulière (\d)(([\+\-])(\d))* alors ma chaîne correspond bien à la l'expression régulière mais je ne parviens pas à récupérer chacun des entiers qui sont situés dans la parenthèse ()*. Je n'obtiens au final que le premier et le dernier.
Mon code :
Matcher m = Pattern.compile("(\\d)(([\\+\\-])(\\d))*").matcher(" 1+2-3+4");
if (m.matches())
for (int i=1; i<=m.groupCount(); i++)
System.out.println(m.group(i));
Le résultat :
1
+4
+
4
Est-ce que vous avez une idée pour améliorer ceci ?
Fab