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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Expression régulière preg_match_all()


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2005
    Messages : 159
    Points : 108
    Points
    108
    Par défaut Expression régulière preg_match_all()
    Bonjour,
    Je cherche à faire un script utilisant une expression régulière pour récupérer des données d'un texte suivant certaines conditions. Le texte est un extrait d'annuaire, je voudrais récupérer le nom des personnes dont le numéro commence par 01.
    J'utilise la fonction preg_match_all(). Mon problème est que je n'arrive pas à trouver le pattern exact pour ma fonction.
    Le texte est formaté de la façon suivante :

    Nomun rue des lilas 75001 paris 0109090909. Nomdeux rue des lilas 75001 paris 0108080808. Nomtrois rue des platane 75002 paris 0907070707.

    (je voudrais donc avoir dans mon résultat Nomun et nomdeux)

    Merci à ceux qui pourront m'aider!

  2. #2
    Membre actif Avatar de Korri
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 158
    Points : 232
    Points
    232
    Par défaut
    Je vais essayer, les expression regulieres j'aime ça

    Alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
        $nums = "Nomun rue des lilas 75001 paris 0109090909. Nomdeux rue des lilas 75001 paris 0108080808. Nomtrois rue des platane 75002 paris 0907070707";
     
        $res = array();
     
        preg_match_all('/([^ .]+) [^0-9]+ [0-9]+ [^0-9]+ 01[0-9]{8}/i', $nums, $res);
     
        print_r($res);
     
    ?>
    Ce qui donne :
    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
    Array
    (
        [0] => Array
            (
                [0] => Nomun rue des lilas 75001 paris 0109090909
                [1] => Nomdeux rue des lilas 75001 paris 0108080808
            )
     
        [1] => Array
            (
                [0] => Nomun
                [1] => Nomdeux
            )
     
    )
    Voila, cette expression prendras le nom de ceux qui ont un numéros en 01...

    Tu pourras les retrouver dans $res[1].

    J'ai utilisé [^ .] pour pouvoir prendre le maximum de noms différents, par contre les nom composés (avec espace) ne marcherons pas.

    Bonne continuation

Discussions similaires

  1. [RegEx] expression régulière preg_match_all
    Par freaks dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2012, 01h02
  2. [RegEx] [HTML PARSER] expression régulière avec preg_match_all
    Par Exca dans le forum Langage
    Réponses: 13
    Dernier message: 22/10/2011, 12h31
  3. [RegEx] Expression régulière avec preg_match_all
    Par tit_oune dans le forum Langage
    Réponses: 6
    Dernier message: 19/05/2006, 00h28
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 19h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 16h21

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