parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

:)

Maxx 05.02.2008 12:05

Я знаю, что он означает.

но в этом шаблоне он лишний, поскольку шаблон отработает в любом случае одинаково.

т.е. для строки например
<a href='#' style=''>ссылка</a>
шаблоны <[^>]+?> и <[^>]+> найдут одно и тоже
1. <a href='#' style=''>
2. </a>
но в случае с модификатором жадности машина рег. выражений будет вынуждена делать откат на каждом совпадении пока не убедится что она не пропустила ни одного > в найденой строке (а мы ей указали, что такого не должно быть). Т.е. чем длиннее совпадающая строка - тем на болшее количество вариантов нужно откатится. В принципе, возможно оптимизатор определит что в данном случае в этом нет смысла, но тогда лишняя запарка для оптимизатора.

А вообще '?' - зло. Если есть возможность - лучше его не использовать.