Tester le format d'une chaine & expressions régulieres

Tester le format d'une chaine & expressions régulieres - PHP - Programmation

Marsh Posté le 10-03-2007 à 00:41:58    

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:
ereg("[A-Z][a-z]{2}\s[0-9]{2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}\s[0-9]{4}",$date)
,mais pour ce qu'il y a avant la date.... :pt1cable:

Reply

Marsh Posté le 10-03-2007 à 00:41:58   

Reply

Marsh Posté le 10-03-2007 à 18:30:29    

Pour un nombre variable d'espaces ou assimilés : \s+
 
Et utilise preg_match au lieu d'ereg.
 
Ceci dit t'as pas nécessairement besoin de tester toute la chaîne, s'il y a une date au bon format déjà c'est peut-être suffisant.


Message édité par sielfried le 10-03-2007 à 18:31:30

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 11-03-2007 à 01:51:23    

ouai je sais, c ske je vai faire, c koi au juste la différence entre ereg et preg_match ?
merci!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed