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: