使用正则表达式查找参数和类型

本文关键字:类型 参数 查找 正则表达式 | 更新日期: 2023-09-27 17:57:11

我正在读出.cs文件,并希望存储每个方法至少有两个参数的所有参数。因此,偏执狂之间的每两个单词组合如下:

public static void MyFunction(string Param1, int Param2, List<string> Param3)

它应该提取string Param1int Param2List<string> Param3到一个集合中。使用它时始终至少有两个参数。

到目前为止,我得到了以下正则表达式:

([A-Za-z0-9<>]+'s[a-z0-9]+)

这将扫描整个方法标头,因此也将public static作为匹配项包括在内。

关于如何解决此问题的任何建议?

谢谢。

使用正则表达式查找参数和类型

这似乎更容易不使用正则表达式。 你显然需要一些东西来识别函数头,但是一旦你知道你有一个函数头,只需像这样分解参数:

using System;
using System.Collections.Generic;
public class Program
{
    public static void Main()
    {
        string functionHeader = "public static void MyFunction(string Param1, int Param2, List<string> Param3)";
        string parameters = functionHeader.Substring(functionHeader.IndexOf("(") + 1)
                                          .Replace(", ", ",")
                                          .Replace(")", String.Empty);
        List<string> parametersCollection = new List<string>(parameters.Split(','));
        parametersCollection.ForEach(pc => Console.WriteLine(pc));
    }
}

结果:

string Param1
int Param2
List<string> Param3