Простая справка по регулярным выражениям - PullRequest
0 голосов
/ 22 февраля 2010

Как мне получить письмо внутри строки, используя Regex?

Моя строка выглядит следующим образом

"First Last <first.last@email.com>"

Я хочу взять «first.last@gmail.com» и сохранить где-нибудь.

Заранее спасибо!

Ответы [ 3 ]

3 голосов
/ 22 февраля 2010

Без регулярных выражений (и, вероятно, намного быстрее):

$string = "First Last <first.last@email.com>";
echo substr($string, strpos($string, '<') +1, -1);

или

echo trim(strstr("First Last <first.last@email.com>", '<'), '<>');

даст оба

first.last@email.com

Если вам нужно проверить окончательный результат, используйте

filter_var($eMailString, FILTER_VALIDATE_EMAIL);
2 голосов
/ 22 февраля 2010
2 голосов
/ 22 февраля 2010

В вашем примере я сделаю что-то вроде:

preg_match('/<([^>]+)>/', "First Last <first.last@email.com>", $matches);
$email = $matches[1];

Проверьте официальную документацию PHP на preg_match .

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