基本上我正在阅读文档块中的自定义注释
/**
* This exception is thrown when no constant function is found.
*
* @author Time.ly Network Inc.
* @since 2.0
*
* @instantiator Ai1ec_View_Factory Category_Exception
* @package AI1EC
* @subpackage AI1EC.Config
*/
class Ai1ec_Constants_Not_Set_Exception extends Ai1ec_Exception {
}
我得到了 docblock,然后尝试用
$r = new ReflectionClass($tokens[$i][1]);
$doc = $r->getDocComment();
preg_match_all('#^.*.@instantiator\s+(.*?)\n#s', $doc, $annotations);
这实际上是有效的,但不是最佳的。我试过了
preg_match_all('#^\s\\*\s?@instantiator\s+(.*?)\n#s', $doc, $annotations);
说匹配一个空格,一个星形,零个或一个空格@instantiator 一个或多个空格,然后得到任何东西直到行尾,但它不起作用,没有匹配。另外,我如何在正则表达式的行尾修剪任何最终的空格?