使用正则表达式查找参数和类型
本文关键字:类型 参数 查找 正则表达式 | 更新日期: 2023-09-27 17:57:11
我正在读出.cs文件,并希望存储每个方法至少有两个参数的所有参数。因此,偏执狂之间的每两个单词组合如下:
public static void MyFunction(string Param1, int Param2, List<string> Param3)
它应该提取string Param1
、int Param2
和List<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