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 :

Utilisation de preg_match_all [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Utilisation de preg_match_all
    Bonjour,

    voila je galere un peu sur une expression reguliere que je dois mettre à jour, donc celle-ci fonctionne mais je ne comprends pas le comportement de preg_match_all ici en l' occurrence.

    Donc voici mon pattern:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sRegexp = '/\s*\d+\.\d+\s*,\s*\d+:\d+\s*,\s*\d+\s*,\s*([^\s,]+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(.*?)\s*,.*[\n\r]+/';
    Voici la chaine a analyser (il s'agit en fait du output direct d'un fichier)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sString="
    25.02,16:07,    0,47C2D9AF,9880,8,Playback Alarm,,,,,,
    25.02,16:07,    0,47C2D9B0,9880,8,Playback Alarm,,,,,,
    "
    Et donc en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all($sRegexp, $sString, $aAlarms, PREG_SET_ORDER);
    J'obtiens:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $aAlarms = 
        [0] => Array
            (
                [0] => 25.02,16:07,    0,47C2D9AF,9880,8,Playback Alarm,,,,,,
     
                [1] => 47C2D9AF
                [2] => 9880
                [3] => 8
                [4] => Playback Alarm
            )
     
        [1] => Array
            (
                [0] => 25.02,16:07,    0,47C2D9B0,9880,8,Playback Alarm,,,,,,
     
                [1] => 47C2D9B0
                [2] => 9880
                [3] => 8
                [4] => Playback Alarm
            )
    Donc voila je comprends bien le contenu de $aAlarms[0][0], par contre comment a-t-on fait pour obtenir $aAlarms[0][1],[0][2],[0][3],[0][4] ?

    Quelle partie de l'expression reguliere a permis ceci?

    Merci de votre aide!

  2. #2
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    $aAlarms[0][0] == la chaîne ayant satisfait l'expression régulière.
    S'il y a des n parenthèses capturantes (4 dans ton cas),
    $aAlarms[0][1] à [n] == portions de la chaîne correspondant à chacune des parenthèses capturantes

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    ah merci je ne connaissais pas cette histoire de parentheses capturantes en fait, je suis trop une quiche.

    Merci en tt cas de m'avoir accorde un peu de temps!

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

Discussions similaires

  1. [RegEx] Utilisation de preg_match_all()
    Par student_ dans le forum Langage
    Réponses: 8
    Dernier message: 15/05/2011, 17h00
  2. [RegEx] Utilisation de preg_match_all
    Par Invité dans le forum Langage
    Réponses: 7
    Dernier message: 31/10/2008, 20h02
  3. [RegEx] Utilisation de preg_match_all pour un fichier externe
    Par divad dans le forum Langage
    Réponses: 6
    Dernier message: 07/05/2008, 12h10
  4. [RegEx] Utilisation de preg_match_all
    Par Christophe Charron dans le forum Langage
    Réponses: 5
    Dernier message: 28/07/2007, 14h35
  5. [RegEx] Problème d'utilisation de preg_match_all()
    Par hemgui dans le forum Langage
    Réponses: 7
    Dernier message: 16/05/2007, 17h22

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