私はこのようになります署名のような方法があります:正規表現を使用して文字列のようなメソッドのパラメータを抽出する方法は?
void methodName(str arg1, int arg2, int arg3 = 4)
{
}
または
私はここで(str arg1, int arg2, int arg3 = 4)
(int arg1)
を与えるために、こののパラメータのみを抽出したい
str methodName2(int arg1)
{
}
は何をされるI試しました。これは私には決して合わない。
string namePortion = String.Format(@"^.*{0}", "methodName");
Regex rex = new Regex(namePortion + @"\s*(?<params>\(.*\)).*\{", RegexOptions.Compiled | RegexOptions.Multiline);
string parms = "";
Match m = rex.Match(sourceCode);
if (m.Success)
{
parms = m.Groups["params"].Value;
}
これもRegexBuddyでテストしましたが、うまくいくと思われますので、何が間違っているのか分かりません。
中かっこ1では、ungreedy '?'をparamsグループの内側から削除します。これにより、括弧 - 即時中括弧に厳密に一致させ、何も残さないようにします。 (それは[私にとってはうまくいくようですが](http://regexr.com?2su3h)) –