各位大神,小弟请教正则表达式的问题~!

_内啥玩意啊 2015-07-24 04:43:45
我有一段代码,具体就不打出来了,代码里面有class,class里面有方法,方法里面有参数,我希望通过正则表达式来实现这样的功能:找到class的名字,并找到这个class下的方法名,再找到该方法下的参数。我希望程序实现返还对应数据的功能,该如何定义?
...全文
241 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
香蕉猪 2015-07-31
  • 打赏
  • 举报
回复
楼主不过是要取数据而已吧。。。php的数据直接拿来就能用,,,何必搞那么麻烦。。。。
神的力量 2015-07-25
  • 打赏
  • 举报
回复
引用 6 楼 qq_29785317 的回复:
[quote=引用 1 楼 qq271859852 的回复:] 这跟正则有什么关系? 用反射一下就出来了
下面这一段是我代码的一小部分,如果用正则,怎么是像我说的功能?如果用反射,又是怎么实现的?希望能写出来我看一下,java我还在学习中,还有很多不懂的地方,希望各位能多指导下。 <?php namespace Home\Controller; use Home\Model\ArticleCategoriesModel; use Home\Model\ArticlesModel; use Think\Controller; use Home\Model; class ArticlesController extends BaseController { protected $article_categories_model; protected $articles_model; public function __construct(){() parent::__construct(); $authorize_controller = new AuthorizeController(); $authorize_controller->validate(); $this->article_categories_model = new ArticleCategoriesModel($this->logs_model, $this->error_stack); $this->articles_model = new ArticlesModel($this->logs_model, $this->error_stack); } public function getSubCategories() { $rank = I('get.rank', 0, null); $result = $this->article_categories_model->getTypesByRank($rank); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案类目失败'); } if(is_array($result) && !count($result)){ //若子分类不存在则可能是最底层分类,则尝试查询文案分类 if ($last_sect = strrchr($rank,'_')){ $cid = substr($last_sect,1); } else { $cid = $rank; } $result = $this->articles_model->getArticlesByCid($cid); if($result === false){ $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } } $this->ajaxRespond($result, 'json'); } public function getArticlesList() { $cid = I('get.cid', 0, 'intval'); $page = I('get.page', 1 ,'intval'); $query = I('get.query', null, ''); $result = $this->articles_model->getArticlesByCid($cid, $page, $query); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } $this->ajaxRespond($result, 'json'); } } [/quote] 这是什么语法?不是java吧
_内啥玩意啊 2015-07-25
  • 打赏
  • 举报
回复
引用 3 楼 Ragin 的回复:
java 反射机制
下面这一段是我代码的一小部分,如果用正则,怎么是像我说的功能?如果用反射,又是怎么实现的?希望能写出来我看一下,java我还在学习中,还有很多不懂的地方,希望各位能多指导下。 <?php namespace Home\Controller; use Home\Model\ArticleCategoriesModel; use Home\Model\ArticlesModel; use Think\Controller; use Home\Model; class ArticlesController extends BaseController { protected $article_categories_model; protected $articles_model; public function __construct(){() parent::__construct(); $authorize_controller = new AuthorizeController(); $authorize_controller->validate(); $this->article_categories_model = new ArticleCategoriesModel($this->logs_model, $this->error_stack); $this->articles_model = new ArticlesModel($this->logs_model, $this->error_stack); } public function getSubCategories() { $rank = I('get.rank', 0, null); $result = $this->article_categories_model->getTypesByRank($rank); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案类目失败'); } if(is_array($result) && !count($result)){ //若子分类不存在则可能是最底层分类,则尝试查询文案分类 if ($last_sect = strrchr($rank,'_')){ $cid = substr($last_sect,1); } else { $cid = $rank; } $result = $this->articles_model->getArticlesByCid($cid); if($result === false){ $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } } $this->ajaxRespond($result, 'json'); } public function getArticlesList() { $cid = I('get.cid', 0, 'intval'); $page = I('get.page', 1 ,'intval'); $query = I('get.query', null, ''); $result = $this->articles_model->getArticlesByCid($cid, $page, $query); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } $this->ajaxRespond($result, 'json'); } }
_内啥玩意啊 2015-07-25
  • 打赏
  • 举报
回复
引用 1 楼 qq271859852 的回复:
这跟正则有什么关系? 用反射一下就出来了
下面这一段是我代码的一小部分,如果用正则,怎么是像我说的功能?如果用反射,又是怎么实现的?希望能写出来我看一下,java我还在学习中,还有很多不懂的地方,希望各位能多指导下。 <?php namespace Home\Controller; use Home\Model\ArticleCategoriesModel; use Home\Model\ArticlesModel; use Think\Controller; use Home\Model; class ArticlesController extends BaseController { protected $article_categories_model; protected $articles_model; public function __construct(){() parent::__construct(); $authorize_controller = new AuthorizeController(); $authorize_controller->validate(); $this->article_categories_model = new ArticleCategoriesModel($this->logs_model, $this->error_stack); $this->articles_model = new ArticlesModel($this->logs_model, $this->error_stack); } public function getSubCategories() { $rank = I('get.rank', 0, null); $result = $this->article_categories_model->getTypesByRank($rank); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案类目失败'); } if(is_array($result) && !count($result)){ //若子分类不存在则可能是最底层分类,则尝试查询文案分类 if ($last_sect = strrchr($rank,'_')){ $cid = substr($last_sect,1); } else { $cid = $rank; } $result = $this->articles_model->getArticlesByCid($cid); if($result === false){ $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } } $this->ajaxRespond($result, 'json'); } public function getArticlesList() { $cid = I('get.cid', 0, 'intval'); $page = I('get.page', 1 ,'intval'); $query = I('get.query', null, ''); $result = $this->articles_model->getArticlesByCid($cid, $page, $query); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } $this->ajaxRespond($result, 'json'); } }
_内啥玩意啊 2015-07-25
  • 打赏
  • 举报
回复
下面这一段是我代码的一小部分,如果用正则,怎么是像我说的功能?如果用反射,又是怎么实现的?希望能写出来我看一下,java我还在学习中,还有很多不懂的地方,希望各位能多指导下。 <?php namespace Home\Controller; use Home\Model\ArticleCategoriesModel; use Home\Model\ArticlesModel; use Think\Controller; use Home\Model; class ArticlesController extends BaseController { protected $article_categories_model; protected $articles_model; public function __construct(){() parent::__construct(); $authorize_controller = new AuthorizeController(); $authorize_controller->validate(); $this->article_categories_model = new ArticleCategoriesModel($this->logs_model, $this->error_stack); $this->articles_model = new ArticlesModel($this->logs_model, $this->error_stack); } public function getSubCategories() { $rank = I('get.rank', 0, null); $result = $this->article_categories_model->getTypesByRank($rank); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案类目失败'); } if(is_array($result) && !count($result)){ //若子分类不存在则可能是最底层分类,则尝试查询文案分类 if ($last_sect = strrchr($rank,'_')){ $cid = substr($last_sect,1); } else { $cid = $rank; } $result = $this->articles_model->getArticlesByCid($cid); if($result === false){ $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } } $this->ajaxRespond($result, 'json'); } public function getArticlesList() { $cid = I('get.cid', 0, 'intval'); $page = I('get.page', 1 ,'intval'); $query = I('get.query', null, ''); $result = $this->articles_model->getArticlesByCid($cid, $page, $query); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } $this->ajaxRespond($result, 'json'); } }
scmod 2015-07-25
  • 打赏
  • 举报
回复
这感觉怎么要写个编译器类似的东西的感觉
神的力量 2015-07-25
  • 打赏
  • 举报
回复
用正则可以用来搜索,但是用正则搜索要写的表达试很麻烦,你可以自 己慢慢调试 java的反射机制只能用于反射java的字节码,非java是没法反射的
_内啥玩意啊 2015-07-25
  • 打赏
  • 举报
回复
引用 2 楼 rui888 的回复:
java 流读取文本文件。正则匹配 。会正则就不是问题。
正则就是刚学,还不太会,你能写出来让我看看吗?不胜感激!
引用 8 楼 qq271859852 的回复:
[quote=引用 6 楼 qq_29785317 的回复:] [quote=引用 1 楼 qq271859852 的回复:] 这跟正则有什么关系? 用反射一下就出来了
下面这一段是我代码的一小部分,如果用正则,怎么是像我说的功能?如果用反射,又是怎么实现的?希望能写出来我看一下,java我还在学习中,还有很多不懂的地方,希望各位能多指导下。 <?php namespace Home\Controller; use Home\Model\ArticleCategoriesModel; use Home\Model\ArticlesModel; use Think\Controller; use Home\Model; class ArticlesController extends BaseController { protected $article_categories_model; protected $articles_model; public function __construct(){() parent::__construct(); $authorize_controller = new AuthorizeController(); $authorize_controller->validate(); $this->article_categories_model = new ArticleCategoriesModel($this->logs_model, $this->error_stack); $this->articles_model = new ArticlesModel($this->logs_model, $this->error_stack); } public function getSubCategories() { $rank = I('get.rank', 0, null); $result = $this->article_categories_model->getTypesByRank($rank); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案类目失败'); } if(is_array($result) && !count($result)){ //若子分类不存在则可能是最底层分类,则尝试查询文案分类 if ($last_sect = strrchr($rank,'_')){ $cid = substr($last_sect,1); } else { $cid = $rank; } $result = $this->articles_model->getArticlesByCid($cid); if($result === false){ $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } } $this->ajaxRespond($result, 'json'); } public function getArticlesList() { $cid = I('get.cid', 0, 'intval'); $page = I('get.page', 1 ,'intval'); $query = I('get.query', null, ''); $result = $this->articles_model->getArticlesByCid($cid, $page, $query); if ($result === false) { $this->ajaxRespondError($this->error_stack->getLastErrorCode(), '获取文案列表失败'); } $this->ajaxRespond($result, 'json'); } } [/quote] 这是什么语法?不是java吧[/quote] 这应该是php的一部分,但是我搜索是用正则来搜索的吧?我把这段代码当成文本来用正则搜索,然后得到我想要的类名,方法名,参数,这样可以吗?还有,用java的反射机制可以获取这段代码的类名方法名参数吗?
shijun1275 2015-07-24
  • 打赏
  • 举报
回复
java反射,如果是private属性你要用到暴力反射
Braska 2015-07-24
  • 打赏
  • 举报
回复
java 反射机制
tony4geek 2015-07-24
  • 打赏
  • 举报
回复
java 流读取文本文件。正则匹配 。会正则就不是问题。
神的力量 2015-07-24
  • 打赏
  • 举报
回复
这跟正则有什么关系? 用反射一下就出来了

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧