Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/11/2007, 14h20   #1
Invité régulier
 
Inscription : novembre 2007
Messages : 10
Détails du profil
Informations personnelles :
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : novembre 2007
Messages : 10
Points : 7
Points : 7
Par défaut Regexp, motif erroné

Bonjour à tous.

Je sollicite votre aide afin de valider une regexp.

Je souhaiterai vérifier qu'une chaine entrée par l'utilisateur fait bien partie des chaines possibles.
Je m'explique :

Voici différents exemples des valeurs que peut prendre la chaine :
En italique se trouvent des valeurs qui varient régulièrement.

Il y a 16 sec vous avez tenté d'attaquer PSeudonumber45.
Il y a 31 sec vous avez volé 10972000 écu(s) à PseudoDuMan65.
Il y a 54 min, vous avez tenté d'attaquer GROSPSEUDO.
Il y a 1 h 14 min, vous avez volé 0 écu(s) à pseudo.
Il y a 1 h 49 min, vous avez volé 1000000 écu(s) à petitpseudo.
Il y a 12 h 49 min, vous avez volé 4000 écu(s) à lepseudo.


Voici un des nombreux motifs que j'ai essayé :

Code :
"#Il.y.a.[0-9]{1,2}.(h.)?[0-9]{0,2}.?(sec.|min,.).vous.avez.(tenté.|volé.)(([0-9] +.écu\(s\).à.)|(d'attaquer.))\w+..#"
Je dois donc faire une grossière erreur lors de la construction de mes motifs car ils ne sont jamais vérifiés...

Merci de me conseiller.
Pabavard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2007, 14h38   #2
Membre à l'essai
 
Inscription : mai 2002
Messages : 57
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 57
Points : 22
Points : 22
Moi je vois un espace qui me parait bizarre dans la regex mais avec ce genre de motif très long j'adopterai la méthode suivante:
tu cherche par exemple "#Il.y.a.[0-9]{1,2}#" pour commencer et si ca matche tu la rallonge un peu.

Voilou...
littleman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2007, 14h49   #3
Invité régulier
 
Inscription : novembre 2007
Messages : 10
Détails du profil
Informations personnelles :
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : novembre 2007
Messages : 10
Points : 7
Points : 7
Effectivement, le découpage est surement la meilleure chose que j'ai à faire.

Pour l'espace il n'y est pas dans ma source ;-)

Merci pour ta suggestion, je me penche dessus et je vous tiens au courant.
Pabavard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2007, 16h02   #4
Invité régulier
 
Inscription : novembre 2007
Messages : 10
Détails du profil
Informations personnelles :
Localisation : France, Charente Maritime (Poitou Charente)

Informations forums :
Inscription : novembre 2007
Messages : 10
Points : 7
Points : 7
Bon, j'ai trouvé, cela vient du fait que je prenais des tabulations pour des espaces... :/
Pabavard est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h24.


 
 
 
 
Partenaires

Hébergement Web