/ / Numéro de ticket Grep du texte perl - regex, perl, grep, nombres

Numéro de ticket Grep du texte perl - regex, perl, grep, numbers

J'ai besoin de grep ce qui suit:
my $string = "Thanks for contacting support. Your ticket number: 123. All the best!"
ou
my $string = "Thanks for contacting support. Your ticket #: 123. All the best!"

Comment puis-je grep 123 en variable $ticket_no avec PERL?

Je pense que l'expression rationnelle devrait être quelque chose comme ça ticket[ t]+(number|#)?[: t]+([0-9]+)

Est-ce correct?

Réponses:

1 pour la réponse № 1

Oui, cette regex fonctionnerait. Vous pourriez l'utiliser comme ceci:

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

Notez que vous "voudrez gérer, d’une manière ou d’une autre, le cas où l’expression régulière n'a pas "t correspondre, car dans ce cas, $ticket_no sera indéfini.


0 pour la réponse № 2

Comme Ruakh l'a déjà dit, votre regex fonctionnerait.

Comme indice: il existe une multitude de sites de test de regex qui facilitent le test et l'optimisation d'expressions régulières.

Un exemple serait: http://myregextester.com/