由于有一些保密协议,我可以在这里真正披露的信息量很少。不幸的是,我所在的地方没有人能回答我,所以我转向 Stack Overflow。基础是这样的:在 PHP 中,我使用 HTTP(使用 cURL 或 file_get_contents)从 SVN 存储库下载一个大文件(73000 个字符),并搜索规则。所有规则都用@rule注释,所以找到它们的正则表达式应该是
/(?<=@RULE).+?$/im
我已经测试过了,它可以工作。问题是,即使文件正在正确下载并被转换为字符串(var_dumps 已确保这一点)
preg_match('/RU/',$file, $rules);
尽管我可以在 var_dumped 字符串中看到适当的匹配项,但 $rules 仍然完全为空。我束手无策,试图弄清楚发生了什么。没有抛出任何错误(它返回 0),它似乎没有耗尽内存,它只是告诉我“不,那里什么都没有,乔治。” 有趣的是,它会发现
/R/
正好。有什么想法吗?