Aide regex
Résolu
Chabanus
Messages postés
978
Date d'inscription
Statut
Membre
Dernière intervention
-
Chabanus Messages postés 978 Date d'inscription Statut Membre Dernière intervention -
Chabanus Messages postés 978 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais résoudre ce problème de regex:
#^(+213|00213|0)(55[0-9]|66[0-9]|7[7-9][0-9])(([-. ]?[0-9]){2}){3}$#
On me dit:
Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 2
C'est une regex de ce genre tyzx xx xx xx
t peut être +213 ou O ou OO213
y peut être soit 5 soit 6 soit 7
z peut être soit 5 soit 6 soit de 7 à 9
et les x aléatoires
Merci cordialement
J'aimerais résoudre ce problème de regex:
#^(+213|00213|0)(55[0-9]|66[0-9]|7[7-9][0-9])(([-. ]?[0-9]){2}){3}$#
On me dit:
Warning: preg_match() [function.preg-match]: Compilation failed: nothing to repeat at offset 2
C'est une regex de ce genre tyzx xx xx xx
t peut être +213 ou O ou OO213
y peut être soit 5 soit 6 soit 7
z peut être soit 5 soit 6 soit de 7 à 9
et les x aléatoires
Merci cordialement
A voir également:
- Aide regex
- Regex buddy - Télécharger - Édition & Programmation
- Regex tout sauf - Forum Java
- Regex ne commence pas par ✓ - Forum Programmation
- Regex pour evitez la répétition des caractères - Forum PHP
- Regex mot de passe ✓ - Forum Framework .NET
2 réponses
Hello,
Il y a plusieurs trucs :
- Le '+' est un métacaractère hors d'une [classe], il doit être échappé.
- A la fin, si [-. ]?{6} veut dire 'tiret, espace ou point facultatif, le tout 6 fois' il faut mettre une parenthèse supplémentaire.
- La parenthèse à la fin ne sert à rien
Ca nous donne : #^(\+213|00213|0)(55[0-9]|66[0-9]|7[7-9][0-9])[-. ]?([0-9]{2}){3}|([0-9][-. ]?){6}$#
Il y a plusieurs trucs :
- Le '+' est un métacaractère hors d'une [classe], il doit être échappé.
- A la fin, si [-. ]?{6} veut dire 'tiret, espace ou point facultatif, le tout 6 fois' il faut mettre une parenthèse supplémentaire.
- La parenthèse à la fin ne sert à rien
Ca nous donne : #^(\+213|00213|0)(55[0-9]|66[0-9]|7[7-9][0-9])[-. ]?([0-9]{2}){3}|([0-9][-. ]?){6}$#