Re: Regexp multiline

トップ ページ

このメッセージに返信
著者: Vincent Caron
日付:  
To: ML Guilde
題目: Re: Regexp multiline
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 :)