我寫的影響分析工具,將解析一堆選定文件類型,找到的類和方法在文件中調用(在這種情況下,cs文件)。我設法寫了一個正則表達式,它會查找一行代碼是否是方法調用。正則表達式找到C#類和方法名
Regex re = new Regex(
@"\b(public|private|internal|protected)\s*" +
"(static|virtual|abstract)?\s*[a-zA-Z]*\s[a-zA-Z]+\s*" +
"\((([a-zA-Z\[\]\<\>]*\s*[a-zA-Z]*\s*)[,]?\s*)+\)");
但是;我無法弄清楚如何從正則表達式中獲取方法名稱。它將一行識別爲Match,但我如何提取實際的方法名稱。任何關於這個的幫助都會很棒。
此外;我不確定這是如何實際完成的,但有沒有其他(最新)的c#文件解析器能夠爲我提供文件中的方法名稱和類名稱列表?
http://stackoverflow.com/questions/906493/regex- named-capturing-groups-in-net – meziantou
'[a-zA-Z]'不會爲C#方法名稱而削減它。例如。 「private voidμäか<בֵּ>(){}」是一個有效的C#方法聲明。 – Jens
謝謝Jens,這個工具不僅適用於我公司內部的外部商業用途,而且我們只用英文編寫代碼,因此它適用於'我們',但謝謝您指出這一點,這是非常有效的一點。 – Joshy