Grep номер билета из текстового Perl - PullRequest
0 голосов
/ 30 марта 2012

Мне нужно grep следующее:
my $string = "Thanks for contacting support. Your ticket number: 123. All the best!"
или
my $string = "Thanks for contacting support. Your ticket #: 123. All the best! "

Как мне преобразовать 123 в переменную $ticket_no с помощью PERL?

Я думаю, что регулярное выражение должно быть примерно таким: ticket[ \t]+(number|#)?[: \t]+([0-9]+)

Это правильно?

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Да, это регулярное выражение будет работать.Вы можете использовать его следующим образом:

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

Обратите внимание, что вы захотите как-то обработать случай, когда регулярное выражение не соответствует, поскольку в этом случае $ticket_no будет неопределенным.

0 голосов
/ 30 марта 2012

Как уже сказал Руах - ваше регулярное выражение будет работать.

Подсказка: существует множество сайтов для тестирования регулярных выражений, которые облегчают тестирование и оптимизацию регулярных выражений.

Примером может быть: http://myregextester.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...