1

在以后的 PHP 版本中删除 ereg 函数及其 POSIX 正则表达式风格?

在阅读了较早的帖子“PHP ereg vs. preg”(2009 年 9 月)之后,阅读了官方的 PHP 声明,我倾向于问这是关于什么的。随着多年来 PHP 的发展(并在 Perl 和 PHP 中进行了大量开发),我真的不确定这最终是否不是一个糟糕的漂移。

我假设这里会有一些 PHP 开发团队的成员在 SO 上,因此他们能够帮助更深入地了解这一点。

是否有计划的增强功能(未来)来完成具有 [[:POSIX:]] 样式的 preg 功能?还是后者会永远消失?这两个决定背后的理由是什么?

4

1 回答 1

5

您可以在此处查看最后一条评论:http: //bugs.php.net/49594

[2009-10-01 20:03 UTC] rasmus@php.net 我们没有编写正则表达式实现。我们依赖 3rd-party 库来处理 PHP 中的所有内容。如果一个支持 Unicode 的 POSIX 兼容库神奇地出现,我们可以考虑它,但目前它不存在,我们也不打算写一个。我怀疑任何其他脚本语言也会这样做。Python 和 Ruby 都依赖于 PCRE,所以我们都支持相同类型的正则表达式。

鉴于正则表达式库的状态,我们要做的负责任的事情是让用户知道 Unicode 是未来,他们当前的 POSIX 正则表达式在这个 Unicode 世界中不起作用,他们需要为此做好计划。

很抱歉您不同意这一点,但这是目前的情况。

此外,该线程上的其他评论表明 PCRE 更快,语法更一致,并且也用于其他语言,例如 Ruby 或 Python。

于 2010-08-19T10:38:58.817 回答