使用regex查找特定方法调用的第一个参数



我在一个以开头的文本文件中有一些方法

@Include("myparameter1", data);
bla1("myparameter2", data);
@Include("myparameter3", data);

这是我的正则表达式:

@"((.*?))

它查找myparameter1、2和3。

我只想从字面上得到myparameter1和3,而不带引号myparameter1myparameter3

我也试着在正则表达式前面加上Include,但没有效果。

如果regex对于获取myparameter1来说太难了,那么如果只有Include内容可以工作"然后修剪引号。。。

假设双引号中没有转义的双引号,则可以使用([^"]+)匹配所需的子字符串,这意味着匹配并捕获一个或多个非双引号字符。

C#字符串:

"@Include("([^"]*)""

C#逐字字符串:

@"@Include(""([^""]*)"""

所需的结果在Groups[1]中,例如:

foreach (Match match in matches) {
Console.WriteLine(match.Groups[1].Value);
}

最新更新