IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Regexp, motif erroné [RegEx]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Points : 9
    Points
    9
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    "#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.

  2. #2
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 57
    Points : 43
    Points
    43
    Par défaut
    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...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    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.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Bon, j'ai trouvé, cela vient du fait que je prenais des tabulations pour des espaces... :/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. regexp - motif repete
    Par Jasmine80 dans le forum Langage
    Réponses: 3
    Dernier message: 28/05/2015, 14h21
  2. VBS et REGEXP - motif prospectif négatif
    Par orducom1 dans le forum VBScript
    Réponses: 1
    Dernier message: 11/05/2010, 15h00
  3. Réponses: 2
    Dernier message: 13/05/2009, 10h11
  4. [AJAX] PB avec motif récupéré et new RegExp() !
    Par kakou dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 22/08/2006, 10h36
  5. Détection d'un motif - Regexp
    Par GLDavid dans le forum Linux
    Réponses: 9
    Dernier message: 09/11/2005, 07h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo