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つ)あります。これが1回限りの簡単なことでない限り、完全なパーサーを取得することについてリチャードが述べたことを探します。私はそれC++を手伝うのに十分な知識がありません。

于 2012-10-31T15:48:18.093 に答える