/ / Grep número de boleto de texto perl - regex, perl, grep, números

Número de ticket Grep del texto perl - regex, perl, grep, números

Necesito grep lo siguiente:
my $string = "Thanks for contacting support. Your ticket number: 123. All the best!"
o
my $string = "Thanks for contacting support. Your ticket #: 123. All the best!"

Como puedo grep 123 en variable $ticket_no con PERL?

Creo que la expresión regular debería ser algo como esto ticket[ t]+(number|#)?[: t]+([0-9]+)

¿Es correcto?

Respuestas

1 para la respuesta № 1

Sí, esa expresión regular funcionaría. Podrías usarlo así:

$string =~ m/ticket[ t]+(number|#)?[: t]+([0-9]+)/;
my $ticket_no = $2;

Tenga en cuenta que usted querrá manejar, de alguna manera, el caso de que la expresión regular no "t partido, ya que en ese caso, $ticket_no será indefinido


0 para la respuesta № 2

Como ya dijo ruakh, tu expresión regular funcionaría.

Como sugerencia: hay toneladas de sitios de prueba de expresiones regulares que facilitan las pruebas y optimizaciones de las expresiones regulares.

Un ejemplo sería: http://myregextester.com/