Суть недавнего удаления PHP регулярного выражения [[: POSIX:]] - PullRequest
1 голос
/ 19 августа 2010

Отбрасывание функций ereg и их разновидности POSIX-регулярных выражений в более поздних версиях PHP?

После прочтения старой публикации "PHP ereg vs. preg" (сентябрь '09) , касающейся этого, - и прочтения официального заявления PHP I ' Я склонен спросить , что это такое . После долгих лет разработки PHP (и большого развития в Perl и PHP) я действительно не уверен, что это может быть не плохой дрейф в конце концов.

Я бы предположил, что здесь, в SO, будут некоторые члены команды разработчиков PHP, поэтому они могли бы помочь получить более глубокое понимание этого.

Существуют ли запланированные улучшения (будущие) для дополнения preg-функций стилем [[: POSIX:]]? Или последний исчезнет навсегда? В чем причина любого решения?

1 Ответ

5 голосов
/ 19 августа 2010

Вы можете проверить последний комментарий перед последним здесь: http://bugs.php.net/49594

[2009-10-01 20:03 UTC] rasmus@php.net Мы не писали реализацию регулярного выражения.Мы полагаемся на сторонние библиотеки для всего в PHP.Если POSIX-совместимая библиотека, которая поддерживает Unicode, волшебным образом появляется, мы можем рассмотреть это, но на данный момент она не существует, и мы не собираемся ее писать.Я сомневаюсь, что любой из других языков сценариев собирается сделать это либо.Python и Ruby также полагаются на PCRE, поэтому мы все поддерживаем регулярные выражения одного типа.

Ответственный за нас, учитывая состояние библиотек регулярных выражений, - дать пользователям знать, что Unicode - это будущее, и их текущие регулярные выражения POSIX не будут работать в этом мире Unicode, и им необходимопланируйте это.

Мне жаль, что вы не согласны с этим, но это положение вещей в настоящее время.

Также другие комментарии в ветке предполагают, что PCRE быстрее,более согласован в синтаксисе и используется и в других языках, таких как Ruby или Python.

...