Bonjour tous,
je veux un expression reguliere qui valide un champ qui peux contenir les valeurs suivant:
1,2,3,5
ou 1,2
ou 1,3,9,8,...
Merci d'avance
Bonjour tous,
je veux un expression reguliere qui valide un champ qui peux contenir les valeurs suivant:
1,2,3,5
ou 1,2
ou 1,3,9,8,...
Merci d'avance
Une suite de chiffres (ou de nombres entiers ?) séparés par des virgules ?
C'est plutôt facile...
Si tu nous donnais ton essai ?![]()
Consulte la JavaDoc de Pattern, elle indique comment construire des regexp Java -_-°.
Soit dit en passant, cette JavaDoc est indiquée dans la JavaDoc des différentes méthodes de String à base de regexp...
Eh, oh, laisse-nous un peu de temps, on n'a pas que ça à faire non plus (par exemple là je serais plutôt censée être en train de bosser).
Bah déjà cette expression n'est pas valide.
L'exécution du code suivant :
donne l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Pattern p= Pattern.compile("/[0-9],*$/");
=> pourquoi as-tu introduit des accolades ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.util.regex.PatternSyntaxException: Illegal repetition near index 5
=> en Java, les '/' sont considérés comme des caractères dans l'expression régulière... il faut les enlever
=> après correction du point précédent, le caractère de répétition '*' ne s'appliquera qu'à la virgule et non à l'ensemble chiffre+virgule
=> après correction du point précédent, l'expression validera les répétitions de chiffre+virgule qui se terminent donc par une virgule
Note supplémentaire : si tu utilises la fonction Matcher#matches(), tu n'obtiendras true que si l'ensemble de la chaîne testée correspond à l'expression régulière, donc le $ à la fin est inutile dans ce cas.
Je pense qu'il a rajouter les deux / parce qu'il utilise javascript car on ecrit les expression régulière entre /expression/
la solution à ton problème est:
A++
Code : Sélectionner tout - Visualiser dans une fenêtre à part Pattern ptrn = Pattern.compile("\\d(,\\d)*");
j'ai tester la solution dans "Construire une expression régulière" ici :
http://iteratif.developpez.com/artic...ns-regulieres/
Euh... tu sais que tu es dans le forum Java ?
On t'a répondu en te donnant des expressions régulières et des instructions valables pour Java, or les différents langages n'interprètent pas tous les expressions régulières de la même façon. Tu ferais donc mieux d'aller voir dans le forum approprié !
ca dépend, est ce que la virgule est obligatoire ?
est ce qu'il peut avoir plusieurs nombre d'affilé ... etc
tout pourrait faire tes tests, ex : ^([0-9],)+$
^\d{1}(,\d{1})*$
Celle-ci est stricte, car elle ne cherche que cette suite "1,4,4,8" ou "5", sans autre caratère avant ou après.
ex: 5,1,5,1,1,5,1
\d{1}(,\d{1})*
celle-ci extrait la recherche dans une ligne type: "eeioej 5,6,5ekonclkdnet" trouve, comme l'autre:
5,6,5
etc...
Pour les extractions (sur la première par éxemple), il faut des parenthèses sur l'ensemble des répétitions:
(\d{1}(,\d{1})*)
Partager