За последние 24 часа нас посетили 17755 программистов и 1283 робота. Сейчас ищут 1459 программистов ...

Что эффективнее...?

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

  1. virabhadra

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

    С нами с:
    11 дек 2006
    Сообщения:
    127
    Симпатии:
    0
    Адрес:
    Praha, Czech Republic
    Что эффективней использовать [0-9]+ или [\d]+ ?
    С точки зрения призводительности.
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  3. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  4. virabhadra

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

    С нами с:
    11 дек 2006
    Сообщения:
    127
    Симпатии:
    0
    Адрес:
    Praha, Czech Republic
    Извиняюсь, что не уточнил.
    Это не обязательно в языке рнр используется, а например в файле .htaccess.
    Там уже никаких is_int нет.
     
  5. Anonymous

    Anonymous Guest

    virabhadra, ЕМНИП, один фиг.
     
  6. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Чисто визуально второй вариант должен работать быстрее. Но даже если такая разница есть, ты её не заметишь. ;)
     
  7. simpson

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

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    во втором варианте квадратные скобки не обязательны.

    ЗЫ: не надо ничего выделять цветом в своих постах.
     
  8. Anonymous

    Anonymous Guest

    ЕМНИП, регулярки все равно перед выполнением оптимизируются, так что оба варианта будут преобразованы к одному и тому же...
     
  9. virabhadra

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

    С нами с:
    11 дек 2006
    Сообщения:
    127
    Симпатии:
    0
    Адрес:
    Praha, Czech Republic
    Выделял только для того, чтобы знак вопроса в конце предложения не приплетался к регулярному выражению.
    Не экранировать же мне его :)

    Пример я привел упрощенный. Хотел узнать разницу между указанием типов и перечислением символов, как например [a-zA-Z0-9]
     
  10. mclaud

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

    С нами с:
    15 фев 2007
    Сообщения:
    97
    Симпатии:
    0
    Адрес:
    Одесса
    Как правило \d эквивалентно с [0-9], а \D с [^0-9].
    Разница состоит в том, что в разных диалектах некоторые классы имеют разные наборы символов. К примеру \w обычно эквивалентно [a-zA-Z0-9_], но в некоторых системах эквивалентно [a-zA-Z0-9].