Создать регулярное выражение с preg_match - PullRequest
0 голосов
/ 15 ноября 2010

Я хочу создать регулярное выражение для строки ниже.Динамическая часть (т. Е. Нужное выражение выделено жирным шрифтом)


Почтовая система

**email address**: host mx2.hotmail.com[65.55.92.152] said:
550 Requested action not taken:
**mailbox unavailable** (in reply to RCPTTO command)

В основном я хочу, чтобы мое регулярное выражение выполняло поиск по электронной почте и "почтовый ящик недоступен ".

Таким образом, он сначала будет искать почту, а затем искать строку" почтовый ящик недоступен ".

Как я могу это сделать?Для этого мне нужно использовать php-функцию preg_match.


Редактировать:

На самом деле я делаю код для поиска отклоненной почты.Я размещаю исходный код полной электронной почты, чтобы соответствовать.одно из моих писем с ошибкой выше.Поэтому мне нужно проверить, нет ли этой ошибки в коде электронной почты или нет.Если этот код найден, он вернет ошибку соответственно.Таким образом, в этом сообщении об ошибке динамическими частями являются адрес электронной почты, ip в квадратных скобках и строка почтового ящика недоступна.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2014

Вы можете использовать эти выражения:

preg_match("/[<]\S+@\S+[>]/i",$your_string); // this matches: <info@example.com>

preg_match("/mailbox unavailable/i",$your_string) // this matches: mailbox unavailable

Значение i после последней косой черты означает отсутствие учета регистра.

0 голосов
/ 15 ноября 2010

Регулярное выражение для одного адреса электронной почты должно дать вам представление о сложности того, чего вы пытаетесь достичь:

http://fightingforalostcause.net/misc/2006/compare-email-regex.php

...