Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/03/2007, 13h22   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 95
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 95
Points : 3
Points : 3
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:

Citation:
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 :
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....
dr_octopus74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2007, 19h55   #2
Membre éprouvé
 
Avatar de goodpz
 
Inscription : février 2007
Messages : 475
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 475
Points : 474
Points : 474
Code :
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);
goodpz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h53.


 
 
 
 
Partenaires

Hébergement Web