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 :

Comment appliquer une condition à une expression régulière ? [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 19
    Points : 13
    Points
    13
    Par défaut Comment appliquer une condition à une expression régulière ?
    Bonjour,

    Je bute sur un problème avec les expressions régulières.

    Prenons l'exemple suivant : '/debut([0-9]+) (.*) ([0-9]+)fin/'

    Soit $1 le premier ([0-9]+) et $3 le deuxième, ainsi que $2 le (.*) du milieu.

    Je voudrais que l'expression régulière ne match que si $1 et $3 sont égaux.

    C'est-à-dire qu'un preg_match_all par exemple donne des résultats suivant cette condition, et non qu'il faille faire la vérification après.

    Merci d'avance de votre aide.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Pour expliciter plus avant ce que je veux faire, prenons en exemple la chaîne suivante :

    'debut1 egre debut2 zergre 2fin 1fin debut3 blabla 3fin'

    Il faut que le preg_match_all me renvoit deux résultats, correspondant à "debut1 ... 1fin" et "debut3 ... 3fin".

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Ah c'est bon on m'a renseigné :

    Il faut utiliser :
    '/debut([0-9]+) (.*) \1fin/'

    Merci beaucoup !

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

Discussions similaires

  1. [RegExp] comparaison début d'une chaine par expressions réguliéres.
    Par madina dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/11/2011, 13h43
  2. Besoins d'une liste d'expressions régulière :)
    Par le_chomeur dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/04/2010, 14h55
  3. Découpage d'une chaine via expressions régulières
    Par 65days dans le forum Général Java
    Réponses: 3
    Dernier message: 07/12/2009, 22h02
  4. Extraire une chaine via Expression Régulières ?
    Par Fikou-Sama dans le forum VB.NET
    Réponses: 3
    Dernier message: 11/09/2009, 17h58
  5. [RegEx] Extraction d'une partie d'une URL par expression régulière
    Par Maxbenji dans le forum Langage
    Réponses: 2
    Dernier message: 16/01/2007, 23h26

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