Re: Regexp multiline

Top Page

Reply to this message
Author: Dominique Fournier
Date:  
To: ML Guilde
Subject: Re: Regexp multiline
On 13/03/12 14:05, Vincent Caron wrote:
> On mar., 2012-03-13 at 12:57 +0100, Dominique Fournier wrote:
>> J'ai essayé des trucs comme :
>> preg_grep ('#^pf: .+\(match\): pass (out|in) on (\n|.)+^pf:.+$#sm',
>> $logs, PREG_GREP_INVERT);
>> Mais cela ne matche pas.
>>
>> Je suis en PHP, mais c'est un problème de regexp.
>
>    Je recommende de passer en analyse ligne par ligne. D'une part parce
> qu'on peut résoudre ton problème simplement (utilise un flag $skip=1
> pour sauter la ligne au tour de boucle suivant), et d'autre part (raison
> principale) parce que ça permet de traiter des logs de taille
> arbitraire.

>
>    En l'état je suppose que tu dois charger le contenu entier du log dans
> $logs en mémoire, ça va pas bien marcher si tu as qq GB de data. A titre
> personnel ça m'arrive presque tous les jours :)

>
>
>


En effet, je charge en mémoire car mes logs font 45Mo pour le plus gros
sur la journée d'hier.

Au pire je me le ferai à la main avec un flag, mais zut, j'aurais perdu
l'occasion d'apprendre un truc.

Dom