![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BobiKK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 4 Всего: 16 |
Сообственно, сабж. Порылся в гуглях, что-то ответа так и не нашел. Компилируются ли регулярки в PHP?
|
|||
|
||||
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Неа )))
--------------------
|
|||
|
||||
| ZlojEzh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.10.2005 Где: Киев, Украина Репутация: 10 Всего: 15 |
не знаю, это ли ты имел ввиду, но посмотри http://www.php.net/manual/en/reference.pcr...n.modifiers.php, модификатор S
|
|||
|
||||
| BobiKK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 4 Всего: 16 |
По описанию, конечно, похоже на аналог компиляции регулярок в PERLe, но почему слово компиляция не употребляется?
|
|||
|
||||
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Не это совсем не то.
Ты имел ввиду, что можно создать регулярку, скомпилировать ее и потом использовать с разными строками уже скомпиленную, чтоб быстрее работало? Так, как это можно делать в перле или в С? Так вот, в PHP этого делать нельзя - я тоже когда-то копался искал такое и ничего не нашел. --------------------
|
|||
|
||||
| BobiKK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 4 Всего: 16 |
Да мне просто не так давно справочник PERLовский попался, и там что-то было про компиляцию регулярок. Вот мне и интересно стало, есть ли такая фича в PHP
|
|||
|
||||
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Да, компиляция регулярок это супер фича, если ей, конечно, уметь правильно пользоваться.
там ведь прикол в том, что на компиляцию тратится время, и если ты собираешься использовать регулярку всего один-два раза, то лучше ее не компилировать - быстрее будет. Но все эти разглогольствования никчему, ибо в PHP такого нету! --------------------
|
|||
|
||||
| BobiKK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 4 Всего: 16 |
Хм, а другие источники сказали, что компилятся
Добавлено @ 08:39 Во, у кого-то откопал:
|
|||
|
||||
| szz |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Блин, разумеется движку надо привести этото стринг, который ты ему даешь, в какой-то удобоваримый для себя код )))
Я имею ввиду следующее: Сделай так, чтоб какое-то выражение скомпилировалось и хранилось отдельно - и потом чтоб ты мог свое это отдельно хранящееся скомпилированное выражение использовать для поиска в 100 разных строках текста! Именно скомпилированное - не строку с регулярной абракадаброй, а именно необратимо скомпиленный байт-код, соответствующий выражению. Сделал? Нет, не сделал. А почему? А потому, что такое невозможно в PHP. А что касается таких источников, как php шные логи, то могу тебе следующее показать:
Скажи мне, что ты понял из этого сообщения. О чем тебе говорит фраза T_PAAMAYIM_NEKUDOTAYIM? --------------------
|
||||
|
|||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
Скомпилировать то регулярку для того чтобы потом ее уже скомпиленную использовать нельзя. Однако когда она комилится движком результат кэшируется и если вызвать ту же регулярку второй раз, она будет работать уже быстрее.
|
|||
|
||||
| GiV |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 13.7.2006 Где: rus|53 Репутация: 4 Всего: 9 |
С Вашим то местом проживания грешно не знать =) (2 раза двоеточие, только PHP5 версии). Ловил такую ошибку на конструкции
|
|||
|
||||
| szz |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Я-то прекрасно знаю ))) Просто я хотел подчеркнуть то, что порой разработчики пхп ошибаются. Люди ведь, млин!
Понятно это, но никаких средств по управлению этим у меня нет Это как автомобилем с автоматической коробкой управлять Вот в С я обязан сам регулярки компилить, возиться с этим (что, кстати, делать не хочется) вручную. Можно, конечно, обертку сделать. Как всегда в С --------------------
|
||||
|
|||||
| AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 6 Всего: 18 |
PCRE по умолчанию кешируются. Так что можно считать, что и компилируются автоматически.
-------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
| BobiKK |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 655 Регистрация: 1.12.2005 Где: Essen, Deutschlan d Репутация: 4 Всего: 16 |
||||
|
||||
| szz |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Ну ладно, дадно, полноте спорить ))) Сдаюсь --------------------
|
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |