Regex 使用正则表达式检测没有摘要的方法
是否有一个正则表达式匹配没有摘要的方法Regex 使用正则表达式检测没有摘要的方法,regex,Regex,是否有一个正则表达式匹配没有摘要的方法 /// <summary> /// Test /// </summary> private void SampleOne() { } ///<summary> /// Test ///</summary> private void SampleTwo(string testParameter) { } private void WithOutSummaryBlocks() { }
/// <summary>
/// Test
/// </summary>
private void SampleOne()
{
}
///<summary>
/// Test
///</summary>
private void SampleTwo(string testParameter)
{
}
private void WithOutSummaryBlocks()
{
}
谢谢你的支持,我解决了这个问题。下面是Regex语句和用法示例 正则表达式:
(|>|)+\\s*s*\\b(public|private|internal|protected|void)\\s*s*\\b(async)?\\s*\\b(static|virtual|abstract|void)?\\s*\\b(async)?\\b(Task)?\\s*[A-Za-z_0-9]*(?<method>\\s[A-Za-z_][A-Za-z_0-9]*\\s*)\\((([a-zA-Z\\[\\]\\<\\>]*\\s*[A-Za-z_][A-Za-z_0-9]*\\s*)[,]?\\s*)+\\)
C用例:
try {
string regex = @"(|>|)+\\s*s*\\b(public|private|internal|protected|void)\\s*s*\\b(async)?\\s*\\b(static|virtual|abstract|void)?\\s*\\b(async)?\\b(Task)?\\s*[A-Za-z_0-9]*(?<method>\\s[A-Za-z_][A-Za-z_0-9]*\\s*)\\((([a-zA-Z\\[\\]\\<\\>]*\\s*[A-Za-z_][A-Za-z_0-9]*\\s*)[,]?\\s*)+\\)";
string allTextFromFile = "YOUR SOURCE CODE";
MatchCollection matchedMethods = Regex.Matches(allTextFromFile, regex,
RegexOptions.Singleline, TimeSpan.FromSeconds(30));
foreach(Match methodText in matchedMethods) {
if (!methodText.Value.Contains(">")) {
//This method also does not have summary blocks.
Console.WriteLine($"Method Name {methodText.Groups.LastOrDefault().Value}");
}
}
} catch (RegexMatchTimeoutException timeoutException) {
Console.WriteLine("skipped regex");
}