Извлечение электронной почты из строки с помощью регулярного выражения с Perl - PullRequest
0 голосов
/ 29 марта 2012

Я новичок в Perl и пытаюсь извлечь письмо из строки "Tom Smith". <tomsmith@gmail.com> Проблема в том, что модуль Email :: Address не установлен, и у меня нет прав на его установку.Есть ли способ извлечь электронную почту с помощью регулярных выражений.

Ответы [ 2 ]

1 голос
/ 30 марта 2012
my $from_address = q{"Tom Smith" <tomsmith@gmail.com>};
my ($email) = $from_address =~ m/<([^>]+)>/;
print "$email\n";

Это позволит извлечь весь контент из первой строки из 1 или более не > символов, заключенных в угловые скобки.

NB. Это не подтверждает, что адрес электронной почты сформирован правильно.Если вы хотите убедиться, что содержимое, извлеченное вами из формата <>, является действительным, что вам следует сделать, тогда вам следует взглянуть на https://metacpan.org/source/RJBS/Email-Address-1.895/lib/Email/Address.pm

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

Вы можете использовать /<(.*)>/, он будет захватывать текст в <> скобках

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