|
|
|
| Пишу location для конфигурации nginx
Нужно, чтобы все URL-адреса, которые начинаются с /js, /css и /pic и НЕ заканчиваются на .php - (тут куда должно идти)
^/(js|pic|css)/.+\.[^(php)]$
|
но почему-то не работает... точно знаю, что ошибка в конце, но где?.. | |
|
|
|
|
|
|
|
для: 1999
(18.11.2009 в 23:08)
| |
<?php
if( preg_match('#^/(js|pic|css).+(?<!\\.php)$#', $s) )
{
// OK
}
?>
|
| |
|
|
|
|
|
|
|
для: Fractured#
(19.11.2009 в 01:26)
| | Мда, все оказалось проще)
^/(js|pic|css)/.+(?<!\.php)$
^/(js|pic|css)/.+$(?<!\.php)
|
обе регулярки работают
долго дискутировали в webdev@conference,jabber.ru
по идее первая должна была быть медленней, поскольку вторая после первых символов сразу идет в конец и там делает негативный просмотр
даже сделал мини-бенч
http://gist.github.com/238338
но бенч выдавал только то, что разница небольшая.....
вот такие дела | |
|
|
|
|
|
|
|
для: 1999
(19.11.2009 в 02:42)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: Fractured#
(19.11.2009 в 07:06)
| | вы не нервничайте
и вместе мы не пили, чтоб меня на ты называть
в этих директориях у меня максимальный путь который будет - '/js/fckeditor/connectors/php/connector.php'
прогнал 5 раз по миллиону итераций - разница в 0.40%, притом это значение еще надо уменьшить в миллион раз (итераций миллион было)
так что разница действительно небольшая
обновленный бенч сунул туда же
http://gist.github.com/238338 | |
|
|
|
|
|
|
|
для: 1999
(19.11.2009 в 10:22)
| | подсказали третья регулярку. победителя)
вот собственно и все результаты
http://www.staypositive.ru/blog/2009/11/19/regular-fuckin | |
|
|
|