[Programación] Flex y expresiones regulares (O gioco bonito...)
Horacio Castellini
programacion@lugro.org.ar
Tue, 11 May 2004 18:16:14 -0300
Hola:
Estoy desarrollando un programa en flex, para computar hilos y cluster en
lista de correos y como caballito de ensallo uso los históricos de la lista
lugro ;) (espero que seba no se enoje)... Ahora bien el siguiente código flex
me da ciertos resultados indeceados....
--------------------------------------------------------------------------------------
%{
#include<stdio.h>
#include<stdlib.h>
int nfrom, ntema;
%}
nfrom=ntema=0;
PATRON ^From:.*"(".*
TEMA ^Subject.*
%%
{PATRON} {
nfrom++;
printf("%s ",yytext);
}
{TEMA} {
ntema++;
printf("%s \n",yytext);
}
. /*ignora lo no reconocido*/
[ \t\n]+ /*se come los blancos*/
%%
int main(int argc,char *argv[])
{
yylex();
printf(" Numero de From %d\n",nfrom);
printf(" Numero de Temas %d\n",ntema);
return 0;
}
----------------------------------------------------------------------------------
Como ser:
From: (Sebastián Criado) Subject: Ayuda con minidistro en disket
From: (Rosarinos.com) Subject: Ayuda con minidistro en disket
Subject: Re: Ayuda con minidistro en disket
^^^^^^^^^^^^^^^^^^^^^^ Esto no debe salir
From: (Sebastián Criado) Subject: Ayuda con minidistro en disket
Pues aca hay un cluster referente al tema "Ayuda con minidistro en disket "
entre 3 nodos (personas) distintas pero no quiero que aparesca el "null-from"
en stdout... alguna solución....?