0
Aspマークアップページ(webform .aspx)とc#による(MVC cshtml)の両方で、あらゆる種類のメソッド呼び出しを見つけるには正規表現パターンが必要です。私はこれらのようなほとんどの可能性をカバーするパターンを探していますC#によるASPマークアップページ内でのメソッド正規表現の呼び出し
:ここ
1) MethodName1()
2) ClassName.MethodName2(prm1,prm2,...)
3) new ClassName.Obj1.Obj2.Method3(...)
4) [new] [AnyThing].[anthing].[anything]([anything])
5) MethodName1().ToString()
....
は私のコードで、ファイルの内容は、マークアップテキストファイルです。 myMatch.Groups["myGroupName"].Value
:
int counter = 0;
string line;
var regex = new Regex(@"*[a-zA-Z].{1}+*[a-zA-Z](+*[a-zA-Z])+"); //??????
// Read the asp markup file and parse it line by line.
var file = new System.IO.StreamReader(path);
while ((line = file.ReadLine()) != null)
{
var match = regex.Match(line);
if (match.Success)
{
//Do sth
}
counter++;
}
file.Close();
正規表現はこれに最適な解決策ではありません。ネストされたメソッド呼び出しの問題に遭遇する。 'Method1(Method2(...))'。 Regexとネストされた構造の詳細については、[this](http://stackoverflow.com/questions/133601/can- regular-expressions-be-used-to-match-nested-patterns)を参照してください。より良い方法は、[ANTLR](http://www.antlr.org/)のようなものを使用することです。 [こちら](http://stackoverflow.com/questions/1732348/regex-match-open-tags参照) -except-xhtml-self-contained-tags/1732454#1732454)は、HTMLに関するものですが、一般的な考え方 –