Нужна помощь в регекспе :)

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

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

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Собсно, нужно ухитриться искать в строке дату задаваемого формата.

    Пример следующий:
    Нужно вырезать дату формата "M j Y" и new.list (любое другое допустимое имя файла).

    Какие соображения? В Оракле и Мускуле, например, есть такая вещь как regexp_substr. А как с пыхом - хз.

    ЗЫ. Нужна именно регулярка
    ЗЫЫ. Еще раз - substr не предлагать :)
     
  2. Karlasan

    Karlasan Постоялец

    Регистр.:
    7 дек 2007
    Сообщения:
    77
    Симпатии:
    157
    PHP:
    $str="-rwxrwxr-x 1 0 1003 2036 Feb 7 2007 new.list";

    preg_match_all("/([A-Z][a-z]{2}[ \t]*[0-9]{1,2}[ \t]*[0-9]{4})[ \t]*([^\r\n]*)/",$str,$m);
    print_r($m[0]);
     
    zverOK и Jeurey нравится это.
  3. DorjeCash

    DorjeCash Создатель

    Регистр.:
    18 апр 2008
    Сообщения:
    24
    Симпатии:
    8
    preg_match("/([^\s]+\s+\d+\s+\d+)\s+(.*)$/",$str,$res);
    $res[1] - дата
    $res[2] - имя файла
     
    Jeurey нравится это.
  4. Jeurey

    Jeurey

    Регистр.:
    13 сен 2006
    Сообщения:
    419
    Симпатии:
    576
    Спасиб, господа, выручили ;)
     
  5. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    PHP:
    $cont='-rwxrwxr-x 1 0 1003 2036 Feb 7 2007 new.list';
    preg_match_all("/([A-Z][a-z]{2}) ([0-9]{1,2}) ([0-9]{4}) ([A-Za-z_-]{1,128}.[A-Za-z_-]{1,128})/",$cont,$matches);
    print_r($matches);
     
    Jeurey нравится это.
Статус темы:
Закрыта.