[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Offtopic: Expresiones regulares, ¡ayudadme!



>> Javier Viñuales Gutiérrez escribió:

 > etiqueta[espacios o tab]dato[espacios o tab]arg1 arg2 arg3 arg4
 > 
 > donde: etiqueta=[A-Z ó a-z][00-500]_[0-2000]['X' ó 'x' ó '']
 >        dato=número en coma flotante (xxx.xxxxxx)
 >        argi= cadenas de caracteres

 demasiado a prisa, en perl:

 [a-zA-Z]+\d{3}_\d{1,4}[xX]?\s+[0-9]+.[0-9]+\s+\S+\s+\S+\s+\S+\s+\S+

 Tienes que hacer algo como:

 while (<>) {
   if (m/^[a-zA-Z]+\d{3}_\d{1,4}[xX]?\s+([0-9]+.[0-9]+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)$/) {
     $dato = $1;
     $resultado = 'programa $2 $3 $4 $5';
     print $dato, " ", $resultado;
   }
 }
 

        Marcelo


Reply to: