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 :

pb expression regulière [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Par défaut pb expression regulière
    Bonjour,
    j'ai dans une variable une chaine de caractère très longue dont je souhaiterai extraire pour stocker dans un tableau certaines chaines.

    ces chaines ont toutes pour point commun cette structure :
    les 4 premiers caractères sont "abc=" puis s'en suis une suite numérique de 15 caractères. Après cette chaine on trouve systématiquement un espace suivi du le mot "TAG" en majuscule.

    Je pense que la meilleure solution pour réaliser mon projet est d'utiliser les expressions régulières mais je n'y parviens pas.

    j'ai testé avec cette expression mais sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $RegEx = "^abc=[0-9]{15}$";
    Quelqu'un pourrait il me dire ou se situe mon(mes) erreur(s) ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    $ signifie la fin de la chaine entière, pas la fin du bout que tu cherches.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $RegEx = "#abc=([0-9]{15})#i";
    tu utilises preg_match() et tu devrais avoir tous les résultats dans le tableau. Il faut comprendre que $ signifie "dernier caractère de la chaine" et ^ premier caractère, ce qui n'arrive qu'une fois par chaine, donc pas adapté à ton motif répétitif.

    il te faut définir des séparateurs, j'utilise des # pour ne pas confondre avec le caractere d'échappement du php. j'utilise le commutateur i pour ne pas me soucier de la casse.

    edit: j'avais oublié les parentheses capturantes pour preg_match.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 14
    Par défaut
    merci a vous 2, cela semble bien fonctionner

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

Discussions similaires

  1. Recherche recursive à l'aide des expressions reguliére
    Par titoff dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/12/2005, 17h42
  2. [RegEx] aide pour une expression regulière
    Par hugo123 dans le forum Langage
    Réponses: 5
    Dernier message: 24/11/2005, 16h41
  3. ET dans une expression regulière
    Par kesako dans le forum Langage
    Réponses: 4
    Dernier message: 10/11/2005, 13h57
  4. Problème expression regulière ??
    Par panaone dans le forum Langage
    Réponses: 5
    Dernier message: 18/08/2005, 14h41
  5. Variables et Expression Regulière
    Par Temari dans le forum Langage
    Réponses: 5
    Dernier message: 05/08/2005, 02h55

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