2010-11-15 2 views
0

Я хочу создать регулярное выражение для строки ниже. Динамическая часть (то есть, для которых выражение необходимо жирным текстом)Создайте регулярное выражение с preg_match


почтовой системы

**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.


Edit:

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

+0

этот вопрос не имеет четкости и направление. какие части строки являются «статическими» (не меняющимися), а какие - «динамическими» (каждый раз меняется)? – stillstanding

+0

Мне нужно регулярное выражение, которое находит электронное письмо с окружением в <>, а затем после поиска строки «почтовый ящик недоступен». надежда ясно сейчас. – Avinash

+0

не уверен, что вы пытаетесь сделать, но это «preg_match» не «prag_match» –

ответ

0

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

preg_match("/[<]\[email protected]\S+[>]/i",$your_string); // this matches: <[email protected]> 

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

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