Выдернуть мыло из строки

1. NonameUser (23.04.2010 / 11:51)
Черканите норм регулярку для поиска мыла в строке.заранее спасибо

2. Nu3oN (23.04.2010 / 13:34)
Попробуй так #(([a-Z0-9+])@([a-Z0-9]+).([a-z]+)) # с телефона пишу, может что не так сделал

3. WCO (23.04.2010 / 13:36)
немного не так,
#(([a-Z0-9]+)@([a-Z0-9]+).([a-z])+) #

4. Александр (23.04.2010 / 13:40)
(([a-Z0-9\.-_]+)@([a-Z0-9-_]+).([a-z]){2,3,4}+)

5. Nu3oN (23.04.2010 / 13:43)
Ах да! забыл про символы! п.с зачем эта ерунда типа {2,3,4} если можно просто {2,4}

6. Александр (23.04.2010 / 13:46)
а да, путаюсь. простите)

7. ramzes (23.04.2010 / 13:52)
<?php preg_match('|([a-z0-9\-]{2,50}@[a-z0-9\-]{2,50}\.[a-z]{2,6})|i', $string, $result);
echo $result[1]; ?>


8. NonameUser (23.04.2010 / 14:02)
7. ramzes, От души.Ищет корректно.

9. ramzes (23.04.2010 / 14:17)
<?php preg_match('|([a-z0-9\-\.]{2,50}@[a-z0-9\-]{2,50}\.[a-z]{2,6})|i', $string, $result);
echo $result[1]; ?>
так точнее, точку забыл разрешить в логине.

10. NonameUser (23.04.2010 / 14:30)
9. ramzes, Мир тесен)

11. Alex (23.04.2010 / 14:39)
точку забыл разрешить в логине.
...и в...

12. ramzes (23.04.2010 / 16:19)
Что 'в'? Домены третьего уровня в отстой)) если автору нужно, во втором шаблоне \. Тоже добавит, будет хоть 10 уровня домены пропускатьsmile

13. smartvbxos7 (05.06.2010 / 19:53)
Мой вариант проверки:
<?php
$string = 'visavi.net@mail.ru';
preg_match("/^([\w\-\.]{1,30})\@([\w\-]{1,15})\.([a-z]{2,3})?$/",$string,$out);
echo $out[0];
?>
P.S первая регулярка

14. ramzes (08.06.2010 / 00:48)
13, только зону домена 2,4 ограничивай, .инфо, .нейм и т.д.

15. smartvbxos7 (08.06.2010 / 10:32)
Да не учел писал для себя для com,net,ru, кто хочет правте {2,3} на {2,4}

URL: https://visavi.net/topics/8555