Надо сделать регулярку для емейлов и паролей с ними

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

Модераторы: xpert13
  1. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    352
    Симпатии:
    223
    Мне надо шаблон для емайлов и паролей с ними. Они могут разделяться ; и :
    vasya@mail.com;123123
    Knight-mail@yandex.ru;120d8zdj828

    И тд

    Я сделал так:

    PHP:
    preg_match_all"#(?:.+?)\@(?:.+?)\.(?:.+?)[\;|\:](?:.+?)#i"$content$out );

    Но он как-то не очень. Берет не всё и еще с пробелами по бокам, а может и не всё взять
    К примеру из vasya@mail.com;123123 может взять только a@mail.com;1
    А из "awd wd aw@mail.com:asd asd" может всё взять с текстом
     
  2. xpert13

    xpert13 <(*_*)>

    Moderator
    Регистр.:
    7 ноя 2008
    Сообщения:
    182
    Симпатии:
    453
    Как-то так (если я правильно понял все нюансы) :
    Код:
    #(\S+@[^;:\s]+)[:;]([^\s]+)#i
    Для составления более точной регулярки нужен "реальный" пример, на котором она будет использоваться.
     
    AllerGen и Q_BASIC нравится это.
  3. AllerGen

    AllerGen Писатель

    Регистр.:
    23 авг 2014
    Сообщения:
    1
    Симпатии:
    0
    Вроде так:
    .+ (.+?@.+?\..+?[\:|\;].+?) .+
     
  4. lotusa

    lotusa Писатель

    Регистр.:
    5 янв 2013
    Сообщения:
    1
    Симпатии:
    0
    Я не очень разбираюсь в этом, но у меня работает вот так =) только подогнать под свой пример...
    (.*[-a-z0-9]@[-a-z0-9]*.ru:((\w{1,20})
     
  5. ofolfa

    ofolfa Создатель

    Регистр.:
    15 авг 2008
    Сообщения:
    27
    Симпатии:
    7
    вот, попробуй так
    PHP:
    preg_match_all"#([^@]+)@([^;:]+)[;:]+(.+)#i"$content$out );