0

我在 PHP 的 PCRE 中发现了一个错误,但在发布错误报告之前,我想通过 Windows 中的命令行测试相同的表达式,看看它是否有相同的错误。如果错误在 PCRE 本身,我需要在 PCRE 站点上发布报告,否则在 PHP 站点上。是否有任何工具可以使用我已经安装的库直接从 Windows 命令行运行 PCRE?

4

2 回答 2

0

您应该使用 Perl 脚本和 Perl 解释器来测试您的正则表达式。在 Windows 上,我建议安装 Cygwin(并且可以在 setup.exe 中选择 Perl 以获得 Perl 解释器)。或者,如果您想要更精简的安装,请使用 StrawberryPerl:http ://strawberryperl.com/

我不建议使用纯粹的命令行测试,因为 Windows 命令提示符容易转义错误。

请注意,您需要使用http://metacpan.org/pod/re::engine::PCRE使您的测试合法

于 2012-06-25T21:03:36.297 回答
0

好吧,我还是根据我的最佳猜测在 PHP 上发布了错误(它是 PHP 还是 PCRE 错误?)一些好人用 pcretest 运行了有问题的正则表达式,发现它的行为符合预期(即给出了正确的错误)。所以,这个错误肯定是在 PHP 中!正则表达式(如果您想知道的话)是/\k/. 它是无效的,因为它应该后跟一个命名的反向引用(http://www.php.net/manual/en/regexp.reference.back-references.php),但是 PHP 5.4.4 允许它编译和跑。

我仍然无法在命令行上运行 PCRE(预编译的 Windows 二进制文件?)

于 2012-06-27T03:44:35.777 回答