0

あなたが持っているとしましょうstring

string s = "GameObject.Find(\"obj\").GetComponent(\"comp\").GetMethod(\"method\").Get...";

にはstring、任意の数のGetX()メソッドを追加できます。

また、「。」なしで各メソッドを区切る必要があります。セパレーター。ただし、GameObject.Find保持でき(dot)ます。

これまでの私のコードは次のとおりです。

Match match = Regex.Match(s, "(.+?\\(\".+?\"\\))(?:\\.??)*");

これにより、1 つのグループのみが生成されます。この問題の正しい解決策は何ですか?

編集

非キャプチャ グループで更新されました。

4

1 に答える 1

1

まず、C# で正規表現を記述するには、逐語的な文字列リテラルを使用することをお勧めします。これにより、記述する必要があるバックスラッシュの数が削減されます。

 @"(.+?\("".+?""\)\.??)*"

すべてのキャプチャを取得するには、 を調べMatch.Capturesます。

オンラインでの動作を確認してください: ideone

于 2012-05-20T11:06:16.473 に答える