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 :

Extraire les pseudo d'un log irc [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Par défaut Extraire les pseudo d'un log irc
    Bonjour

    J'aimerai extraire tous les pseudo d'un log irc.

    Je lis ligne par ligne le fichier en essayant d'extraire le pseudo avec une regex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match("/^.*\((\+?|@?.*)\)/",$str,$pseudo)
    mais la capture se fait assez mal.

    Par exemple pour ce style de phrase la capture se fait sur le (s) et non sur le pseudo
    [00:00] (+Lorem) Ipsum dolor sit amet, consectetuer adipiscing elit. Fusce(s) blandit.
    Et lorsque la capture du pseudo se fait, j'ai le + ou le @ qui apparait alors que je ne le voudrais pas.

    En vous remerciant

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Il vous faut alors "déplacer" votre capture, comme ceci par exemple (non testé) pour le problème sur le pseudo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_match("/\(\[+@]?(.*)\)/",$str,$pseudo);
    L'ancre de début de ligne (^) n'est pas réellement utile dans votre cas car preg_match s'arrête à la première correspondance et c'est certainement la gourmandise de l'expression qui vous faisait trouver le s dans l'exemple donné.

  3. #3
    Membre chevronné
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Par défaut
    En corrigeant une petite coquille dans l'expression que vous m'avez fourni, il y a un mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match("/\([+@]?(.*)\)/",$str,$pseudo);
    Mais le problème persiste lorsque plusieurs parenthèses sont présentes dans la chaine, en effet avec l'exemple donné plus haut, la capture se fait sur cette expression
    Lorem) Ipsum dolor sit amet, consectetuer adipiscing elit. Fusce(s

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Dans la série gourde, il manquait l'option de non-gourmandise (j'en parlais avant en plus) ça a l'air d'être mieux avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match("/\([+@]??(.*)\)/U",$str,$pseudo);

  5. #5
    Membre chevronné
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Par défaut
    Par-fait ! Merci beaucoup julp

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

Discussions similaires

  1. Extraire les infos d'un tag ID3
    Par patkiller dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 22/02/2025, 00h24
  2. Extraire les données d'un fichier XML (log)
    Par sarra2104 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 20/05/2012, 09h33
  3. Extraire les données d'un fichier LOG
    Par sql92 dans le forum JDBC
    Réponses: 1
    Dernier message: 10/03/2008, 10h22
  4. Extraire les n premiers termes d'une chaine
    Par knecmotet dans le forum C++
    Réponses: 4
    Dernier message: 03/03/2005, 15h05
  5. Extraire les icônes d'une DLL
    Par Globus dans le forum MFC
    Réponses: 6
    Dernier message: 13/09/2002, 13h44

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