Pb utilisation REGEX
Résolu/Fermé
Mr Joé
Messages postés
94
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
5 décembre 2008
-
17 mars 2008 à 14:57
Mr Joé Messages postés 94 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 5 décembre 2008 - 18 mars 2008 à 09:31
Mr Joé Messages postés 94 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 5 décembre 2008 - 18 mars 2008 à 09:31
1 réponse
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
17 mars 2008 à 17:13
17 mars 2008 à 17:13
Bonjour,
Le point "." signifie "n'importe quel caractère". Essaie de l'échapper, en remplaçant tes [.] par \.
Ensuite, les tirets servent à matérialiser un intervalle.
Remplace [A-B-C-H-J-M-N-O-P-R-G-L] par [ABCHJMNOPRGL]
[0-14] ne fonctionnera pas non plus, parce que les expressions rationnelles agissent en termes de caractères et non pas en termes de nombres ou autres choses qui pourraient avoir un sens. Ca devient plus compliquer à coder, du coup :
[0-9]|1[0-4] (c'est à dire : un chiffre allant de 0 à 9, OU un 1 suivi d'un chiffre allant de 0 à 4.
Même problème pour [001-999], mais en plus simple.
[0-9]{3} (c'est-à-dire : 3 chiffres de 0 à 9. Par rapport à ton souhait, cela inclut la séquence 000, mais est-ce génant ?)
Ce qui donne, au final :
^[1-9]\.[ABCHJMNOPRGL]\.[0-9]|1[0-4]\.[0-9]{3}$
Voilà !
Ça donne quoi ?
Je ne garantis par le résultat à 100%, les expressions rationnelles étant une science inexacte en dehors d'un environnement bien déterminé... Comprendre : ça dépend du logiciel que tu utilises pour la faire tourner !
Xavier
Le point "." signifie "n'importe quel caractère". Essaie de l'échapper, en remplaçant tes [.] par \.
Ensuite, les tirets servent à matérialiser un intervalle.
Remplace [A-B-C-H-J-M-N-O-P-R-G-L] par [ABCHJMNOPRGL]
[0-14] ne fonctionnera pas non plus, parce que les expressions rationnelles agissent en termes de caractères et non pas en termes de nombres ou autres choses qui pourraient avoir un sens. Ca devient plus compliquer à coder, du coup :
[0-9]|1[0-4] (c'est à dire : un chiffre allant de 0 à 9, OU un 1 suivi d'un chiffre allant de 0 à 4.
Même problème pour [001-999], mais en plus simple.
[0-9]{3} (c'est-à-dire : 3 chiffres de 0 à 9. Par rapport à ton souhait, cela inclut la séquence 000, mais est-ce génant ?)
Ce qui donne, au final :
^[1-9]\.[ABCHJMNOPRGL]\.[0-9]|1[0-4]\.[0-9]{3}$
Voilà !
Ça donne quoi ?
Je ne garantis par le résultat à 100%, les expressions rationnelles étant une science inexacte en dehors d'un environnement bien déterminé... Comprendre : ça dépend du logiciel que tu utilises pour la faire tourner !
Xavier
18 mars 2008 à 09:31
Bonne journée,
Je passe ainsi le message en résolu