求教 php preg_match 分析 CPP文件里的类间关系,怎么写?
时间:2011-09-20
来源:互联网
行例:
1. class XXX : public YYY, ZZZ { //正常表达,其中class可为struct,public可为protected,部分空格可有可无,或为TAB,或随意换行。
2. class XXX{ //不从任何父类继承
3. class XXX:public YYY //:前后或没空格,或只一个父类,或大括号在下一行
{
4. class XXX //换行且加了空格
: public YYY
现在
$fctx = file_get_contents ($f); //读入整个文件到一行了,用preg_match_all的话可以吗?
或
$lines = file ($f);
foreach ($lines as $ln)
{
if (!preg_match ('/\bclass\b/', $ln, $matches)) //??????这一行想极不知怎么写
{
}
}
作者: vicallee 发布时间: 2011-09-20
直接if (!preg_match ('/\bclass\b/', $ln))
作者: jordan102 发布时间: 2011-09-20
作者: vicallee 发布时间: 2011-09-20
作者: vicallee 发布时间: 2011-09-20
作者: jordan102 发布时间: 2011-09-20
#ifndef _FRAMED_FILTER_HH
#include "FramedFilter.hh"
#endif
class ADUFromMP3Source: public FramedFilter {
public:
static ADUFromMP3Source* createNew(UsageEnvironment& env,
FramedSource* inputSource,
Boolean includeADUdescriptors = True);
分析是想取出ADUFromMP3Source和FramedFilter
作者: vicallee 发布时间: 2011-09-20
PHP code
$fctx= <<<HTML #ifndef _FRAMED_FILTER_HH #include "FramedFilter.hh" #endif class ADUFromMP3Source: public FramedFilter { public: static ADUFromMP3Source* createNew(UsageEnvironment& env, FramedSource* inputSource, Boolean includeADUdescriptors = True); HTML; preg_match_all('/class\s*([^\s:\{]*):\s*(?:public|protected)?\s*([^\s:\{]*)\s*\{/isU',$fctx,$m); print_r($m);
Array
(
[0] => Array
(
[0] => class ADUFromMP3Source: public FramedFilter {
)
[1] => Array
(
[0] => ADUFromMP3Source
)
[2] => Array
(
[0] => FramedFilter
)
)
作者: jordan102 发布时间: 2011-09-20
作者: vicallee 发布时间: 2011-09-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28