Página 1 de 1

Problema con expresión regular

NotaPublicado: 2012-09-29 23:57 @040
por zackarias
Hola.

¿Cómo podría obtener de este string solo lo que está marcado con una expresión regular?

>gi|207855516|ref|NC_011294.1|:2565-3494 Salmonella enterica subsp. enterica serovar Enteritidis str. P125109 chromosome, complete genome

Gracias de antemano y saludos.

Re: Problema con expresión regular

NotaPublicado: 2012-09-30 07:55 @371
por explorer
Deberíamos tener algo más de información de cómo se van a comportar los campos que aparecen en esas líneas, pero, si asumimos que
  • queremos quedarnos a partir del separador '|' que está detrás de una referencia numérica,
  • hasta justo antes del primer espacio en blanco,
entonces podemos resolverlo con esta expresión:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $linea = '>gi|207855516|ref|NC_011294.1|:2565-3494 Salmonella enterica subsp. enterica serovar Enteritidis str. P125109 chromosome, complete genome';
  2.  
  3. $my($extracto) = $linea =~ /\d+(\|.+?) /;
  4.  
  5. print "[$extracto]\n";    # [|ref|NC_011294.1|:2565-3494]
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Re: Problema con expresión regular

NotaPublicado: 2012-09-30 12:16 @553
por zackarias
Muchas gracias, explorer. Era lo que necesitaba.