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 :

Format chaîne + expressions régulieres


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 98
    Points : 33
    Points
    33
    Par défaut Format chaîne + expressions régulieres
    Bonjour a tous,
    j'ai un fichier texte qui concerne la liste de tous les processus d'un pc. Mais le probleme est que ce texte n'est pas bien formaté (ne me demander pas pourquoi ca serait trop long a expliqué lol).
    Quoiqu'il en soit, a la fin, j'ai des lignes comme cela:

    root Thu Feb 15 21:27:36 2007 [kswapd0]
    root Thu Feb 15 21:27:37 2007 [kseriod]
    root Thu Feb 15 21:27:40 2007 [ata/0]
    root Thu Feb 15 21:27:40 2007 [ata_hotplug/0]
    syslog Thu Feb 15 21:28:01 2007 /sbin/syslogd -u syslog
    108 Thu Feb 15 21:28:05 2007 /usr/sbin/hald
    r/lib/gnome-applets/trashapplet --oaf-activate-iid=OAFIID:GNOME
    La derniere ligne est un "artéfacte", et donc a ignorer. Mon soucis que j'aimerais tester le bon format des lignes et la tabulation qui vient après le 1er champ n'est pas tout le temps pareil. Après "root" --> 5 espaces , après syslog --> 3 espaces, etc...

    Pourriez vous m'aider a trouver le bon format pour tester les bonnes chaines et pour ignorer les autres svp ?
    d'avance merci et a bientot j'espere.

    PS: pour tester la date je pense que c'est + facile, c'est du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ereg("[A-Z][a-z][a-z] [A-Z][a-z][a-z] [0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9][0-9][0-9][0-9]",$date);
    ,mais pour ce qu'il y a avant la date....

  2. #2
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //$str = ... tout le text
    $r = '/(\w+)\s+(\w{3} \w{3} \d{2} \d{2}:\d{2}:\d{2} \d{4}) (.+)/';
    preg_match_all($r, $str, $a);
    print_r($a);

Discussions similaires

  1. [Debutant] Expression réguliere
    Par grizzz dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 17/08/2007, 17h14
  2. expression réguliere
    Par htristra dans le forum C
    Réponses: 11
    Dernier message: 06/09/2005, 23h33
  3. expression réguliere en c++
    Par alambics dans le forum MFC
    Réponses: 9
    Dernier message: 10/03/2004, 21h19
  4. expression réguliere
    Par alambics dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/03/2004, 14h52

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