2

我是使用正则表达式的新手

任何人都可以提供所需的正则表达式来查找用于声明变量的源代码文件中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";
4

1 回答 1

1

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

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

分解:

  1. (int|short|MyObj|String)= 它将搜索任何列出的项目。A|可以与更多选项一起添加到列表中。
  2. .*(;)= 直到第一个的所有字符;,基本上意味着到行尾。

问题是,可以有很多方法来声明一个变量。仅在您的示例中,就有 4 种(如果您考虑区分大小写,则为 5 种)声明方式。除非这只是一次快速的事情,否则我会寻找 Richard 提到的关于获得完整解析器的内容。我不够熟悉,C++无法帮助您。

于 2012-10-31T15:48:18.093 回答