За последние 24 часа нас посетили 17895 программистов и 1581 робот. Сейчас ищут 1396 программистов ...

preg_match не работает

Тема в разделе "PHP для новичков", создана пользователем Ataru, 28 сен 2014.

  1. Ataru

    Ataru Новичок

    С нами с:
    4 май 2014
    Сообщения:
    8
    Симпатии:
    0
    Подскажите пожалуйста почему
    $res = preg_match("[0-9]{1}", "12345678");
    возвращает false?
    также в качестве шаблона я пробовал "[0-9]", "\d{1}", "\d", все время один результат
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Найдешь отличие?
    http://php.ru/manual/function.preg-match.html

    Добавлено спустя 5 минут 12 секунд:
    Код (PHP):
    1. $res = preg_match("/\d+/", "12345678", $match);
    2. echo $match[0]
    Добавлено спустя 39 секунд:
    + - 1 и более совпадений
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    я могу и ошибаться (а точнее есть случаи когда это делается как то по другому), но регулярное выражение надо помещать между / и /
     
  4. Ataru

    Ataru Новичок

    С нами с:
    4 май 2014
    Сообщения:
    8
    Симпатии:
    0
    Да, всем спасибо, дело было в слэшах.
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Необязательно между слешами. Восклицательные знаки, решётки - всё, что угодно, что не используется в самом рег. выражении
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    В регулярных выражениях можно эскейпить.