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 :

2e parenthèse capturante selon la 1ere


Sujet :

Langage PHP

  1. #1
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut 2e parenthèse capturante selon la 1ere
    Bonjour,

    J'aimerais trouver les chaines de le forme:
    == chaine ==
    mais pas:
    == chaine ===

    Comment préciser que je veux à droite le même nombre de caractères qu'à gauche?

    Merci

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $char   = '==';
    $chaine = '== chaine ==';
     
    if ( preg_match( '#^('.$char.') .* \1$#', $chaine ) ) {
       echo 'ok';
    }

  3. #3
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Merci !

  4. #4
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Re,

    En fait le \1 reproduit la première parenthèse capturante, mais rien n'empêche d'avoir == chaine === qui fonctionne, puisque dans mon cas, il n'y a pas de fin de ligne délimitée par $.

    Du coup j'ai fait (qui semble fonctionner):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = preg_replace_callback('`(\=+) ([^\n]+?) \1([^=]{1}|$)`', 'plan', $text);
    Je veux grâce à ça:
    - récupérer une chaine sur une seule ligne
    - empêcher en fin de motif d'avoir des = en trop, cad au moins un caratère quelconque qui ne soit pas =, ou arriver à la fin de ma chaine complète.

    Est-ce que cela semble propre (notamment les +? pour cette histoire de "gourmandise" que je n'ai jamais trop compris)?

    Merci

Discussions similaires

  1. [RegEx] Problème de parenthèses capturantes
    Par Tuttu dans le forum Langage
    Réponses: 3
    Dernier message: 27/02/2009, 14h37
  2. expressions régulières (re) : parenthèses capturantes
    Par zabibof dans le forum Général Python
    Réponses: 2
    Dernier message: 19/04/2008, 11h01
  3. Appliquer regex avec parenthèse capturantes sur SELECT
    Par vallica dans le forum Requêtes
    Réponses: 3
    Dernier message: 01/02/2008, 12h34
  4. [RegEx] ereg_replace et parenthèses capturantes
    Par liberty74 dans le forum Langage
    Réponses: 2
    Dernier message: 25/07/2007, 14h44
  5. 2 combos en ASP l'une initialisée selon la 1ere
    Par mister_toto dans le forum ASP
    Réponses: 4
    Dernier message: 17/05/2006, 14h51

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