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