Expression régulière nombres réels
Bonsoir,
J'ai une ligne qui ressemble à ça :
Code:
unetreslonguesuitede lettres au hasard 103,0054
J'aimerai récupérer dans une liste la partie gauche contenant les lettres, et dans une autre la partie droite contenant le nombre (qui peut être un entier ou un float).
J'ai réussi à séparer les nombres du type float :
Code:
1 2 3 4 5 6 7 8
| Pattern p = Pattern.compile("(([0-9]+,)+[0-9]+$)");
for (i=0; i< nbRight;i++){
Matcher m = p.matcher(lineList.get(i));
while (m.find()) {
rightList.add(m.group(1));
System.out.println(m.group(1));
}
} |
Mais les entiers ne sont pas ajoutés à ma liste. J'ai trouvé ce topic (http://www.developpez.net/forums/d10...ntier-decimal/) qui en parle mais en utilisant l'expression qu'ils proposent:
Code:
/^(-)?[0-9]+([.,][0-9]+(e(-)?[0-9]+)?)?$/
Ca ne fonctionne pas...
(je n'ai pas encore cherché pour ajouter la partie gauche contenant des lettres dans une liste)