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 :

Capture multiple ? [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut Capture multiple ?
    Bonjour,
    Je voudrais, avec une parenthèse, capturer plusieurs fois.

    J'ai une chaîne respectant le schéma suivant : param1.1;param1.2;param1.3;param1.4;
    param1.2;param2.2;param3.3;param2.4;
    ...

    Avec un retour chariot optionnel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    $chaine = 'alpha;8;5,2,1,0,0,1,2,5;4,1,1,2,3,4,4,1;beta;8;0,0,1,2,3,2,0,2,3,2,0;0,4,5,5,4,3,3,3,2,1,1;';
    $regex = "#^(([a-z]{1,});([0-9]{1,});([0-9,]{1,};){2}){1,}$#";
     
    preg_match($regex,$chaine,$matches);
     
    echo '<pre>';
    print_r($matches);
    echo '</pre>';
    ?>
    Et voici le résultat du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Array
    (
        [0] => alpha;8;5,2,1,0,0,1,2,5;4,1,1,2,3,4,4,1;beta;8;0,0,1,2,3,2,0,2,3,2,0;0,4,5,5,4,3,3,3,2,1,1;
        [1] => beta;8;0,0,1,2,3,2,0,2,3,2,0;0,4,5,5,4,3,3,3,2,1,1;
        [2] => beta
        [3] => 8
        [4] => 0,4,5,5,4,3,3,3,2,1,1;
    )
    Ce qui ne me convient pas.

    Pourriez-vous m'aider ?

    Bonne journée

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 39
    Par défaut
    Pourquoi ne pas commencer par splitter ta chaîne en "paramètres", avec explode ?

    Après quoi ça dépend de ce que tu veux autoriser/refuser, ce qui n'est pas très clair dans ton message.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    Ah ! split !
    Merci, j'avais complètement oublié cette fonction, merci beaucoup, je n'ai en fait pas besoin de regex.
    Et sinon, ce n'était pas pour vérifier, mais uniquement pour capturer .

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 39
    Par défaut
    Si c'est juste pour splitter sur un caractère défini (en l'occurence le point-virgule pour toi a priori), utilise plutôt explode, plus efficace.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Par défaut
    Oui, mais je vais adapter mon code en C++ (et utiliser des objets QString), et split est une méthode de la classe en question, donc c'est du tout bon (j'ai posté dans le forum PHP car je me suis dit que je n'aurais pas tellement de réponses si je parlais de Qt dans le forum C++ ^^ ).

    Merci encore

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

Discussions similaires

  1. [RegEx] Capture multiple : ne renvoie que la dernière valeur
    Par Maelikk dans le forum Langage
    Réponses: 3
    Dernier message: 01/07/2012, 19h41
  2. Captures multiples dans une regexp
    Par Sp4MaFauTe dans le forum Langage
    Réponses: 1
    Dernier message: 28/03/2012, 18h01
  3. regexp : capture multiple
    Par GillesANDRE dans le forum Langage
    Réponses: 5
    Dernier message: 29/09/2011, 14h20
  4. Multiple captures par regexp ?
    Par lennelei dans le forum Langage
    Réponses: 10
    Dernier message: 25/03/2009, 23h01
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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