Как найти все mail на странице?

Тема в разделе "Регулярные выражения", создана пользователем terkin, 30 апр 2008.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. terkin

    terkin

    Регистр.:
    9 дек 2006
    Сообщения:
    513
    Симпатии:
    162
    нужно регулярное выражение для нахождения email адрессов на странице.
     
  2. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    Код:
    (\w+\.)*\w+@(\w+\.)+[A-Za-z]+
    или
    Код:
    \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
    или
    Код:
    (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
    в общем вариантов много

    на или preg_match_all()
     
  3. sms-send

    sms-send Создатель

    Регистр.:
    7 июл 2007
    Сообщения:
    29
    Симпатии:
    9
  4. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
  5. Piflit

    Piflit Создатель

    Регистр.:
    7 июн 2008
    Сообщения:
    24
    Симпатии:
    4
    еще в регулярке нужно учитывать не только abc@mail.com,
    но и [@], [at], [собачка] итд. у последних по отношению к стандартному написанию % не очень большой, но встречается достаточно часто
     
  6. korab

    korab Писатель

    Регистр.:
    25 фев 2008
    Сообщения:
    1
    Симпатии:
    0
    По официальному стандарту rfc2822
    регулярное выражение будет следующим:

    Код:
    (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
     
  7. Jensender

    Jensender Постоялец

    Регистр.:
    13 фев 2009
    Сообщения:
    77
    Симпатии:
    6
    первый вариант самый лучший
     
Статус темы:
Закрыта.