За последние 24 часа нас посетили 20294 программиста и 1702 робота. Сейчас ищут 1904 программиста ...

Повтор шаблона

Тема в разделе "Регулярные выражения", создана пользователем rar, 12 окт 2009.

  1. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    PHP:
    1. $contents = preg_replace("!.*(\d{2}\.\d{2}\.\d{2}).*!", "<b>$1</b>", $contents);
    Нужно \d{2}\. повторить 2 раза. Вот такая вот конструкция "!.*((\d{2}\.){2}.\d{2}).*!" - не работает.
     
  2. rar

    rar Активный пользователь

    С нами с:
    9 дек 2008
    Сообщения:
    206
    Симпатии:
    0
    Адрес:
    Москва
    Разобрался.

    PHP:
    1. $contents = preg_replace("!((?:\d{2}\.){2}\d{2})!", "<b>$1</b>", $contents);
    А можно ли ещё сократить запись? Условие поиска: даты типа 01.12.09
     
  3. Dima4321

    Dima4321 Активный пользователь

    С нами с:
    1 апр 2009
    Сообщения:
    683
    Симпатии:
    0
    PHP:
    1. <?php
    2. ini_set('display_errors',1);
    3.  
    4.  
    5.  
    6. $m ="РАЗДЕЛ A СЕЛЬСКОЕ ХОЗЯЙСТВО, ОХОТА И ЛЕСНОЕ ХОЗЯЙСТВО
    7.  
    8. Раздел A охватывает использование природных ресурсов
    9. растительного и животного происхождения. 12.05.09 Раздел включает
    10.  
    11. ";
    12.  
    13.  
    14. $poisk='/([0-9\.]{8})/si';
    15.  
    16. preg_match($poisk,$m,$matches);
    17.  
    18.  
    19. echo $matches[1];
    20.  
    21.  
    22. ?>