如何获得C ++变量声明

时间:2012-10-31 13:21:46

标签: c++ regex

我是使用Regexp的新手

任何人都可以提供必要的正则表达式来查找用于声明变量的C++源代码文件中的所有C++代码行吗?

可以声明的一些方法变量可以如下所述:

int  x;
int  y=9;
int  x,y;
int  x,y=0;
int  x,y=0,c;
short const x=9;
int* x,y,c=null;
short const *x=NULL;
MyObj aobj();
MyObj aobj(x,y);
Myobj * a = dynamic_cast<A *>(b);
String x = "test";

1 个答案:

答案 0 :(得分:1)

以下正则表达式将帮助您入门:

(int|short|MyObj|String).*(;)

击穿:

  1. (int|short|MyObj|String) =它将搜索任何列出的项目。可以将|添加到列表中以及更多选项。
  2. .*(;) =所有字符直到第一个;,基本上意味着该行的结尾。
  3. 问题是,声明变量的方法有很多种。仅在您的示例中,有4个(如果您计算区分大小写,则为5个)声明方式。除非这只是一次快速的事情,否则我会寻找理查德提到的关于获得完整解析器的内容。我不熟悉C++足以帮助你。