За последние 24 часа нас посетили 21419 программистов и 1694 робота. Сейчас ищут 1784 программиста ...

Обратные ссылки в регулярных выражениях

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

  1. Lucky13

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

    С нами с:
    5 авг 2009
    Сообщения:
    4
    Симпатии:
    0
    Есть регулярное выражение с обратной ссылкой:
    PHP:
    1.  
    2. $res = preg_match("/(1)\+\1/", "1+1", $match);
    3.  
    Теоретически указанный текст соответствует шаблону, но фукция возвращает 0.

    Значит ли это:
    1. В PHP не поддерживаются обратные ссылки
    2. Нужна какая-то дополнительная библиотека
    3. Обратные ссылки поддерживаются только под определенными ОС
    4. В PHP обратные ссылки задаются по другому

    Проверял для PHP Version 4.3.10 Windows NT 5.1 build 2600 и PHP Version 5.2.6 FreeBSD 6.3-RELEASE-p2 i386
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. $res = preg_match('/(1)\+\1/', '1+1', $match);
     
  3. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Вы пытаетесь сумничать не понимая элементарных вещей и принципов работы механизма PCRE.
    Откуда возмется обратная ссылка на незахватываемое регулярное выражение (или его группу)? Из воздуха?
     
  4. Lucky13

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

    С нами с:
    5 авг 2009
    Сообщения:
    4
    Симпатии:
    0
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    $res = preg_match("/(1)\+\\1/", "1+1", $match);

    курить ман про кавычки
     
  6. Lucky13

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

    С нами с:
    5 авг 2009
    Сообщения:
    4
    Симпатии:
    0
    Согласен, скобки нужны, без них не будет и не должно работать, забыл поставить когда писал сообщение. Но что странно, если взять текст из моего первого сообщения (скобки в исходном сообщении добавил), то он работать не будет, а если из вашего, то будет. Неужели из-за кавычек?
     
  7. Lucky13

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

    С нами с:
    5 авг 2009
    Сообщения:
    4
    Симпатии:
    0
    Намек понял, спасибо