C# 获取“中的文本”<&书信电报;名称>&燃气轮机&引用;在C中#

C# 获取“中的文本”<&书信电报;名称>&燃气轮机&引用;在C中#,c#,regex,C#,Regex,我正试图获取双尖括号内的文本: 从这样的文本中,它返回整个字符串,而我只想获取双括号中的文本 line2="Name: <<NAME>> (<<COURSE>>)" var pattern=@"<<.*?>>"; MatchCollection matches= Regex.Matches(line2,pattern); line2=“名称:()” var模式=@; MatchCollection matches=Re

我正试图获取双尖括号内的文本: 从这样的文本中,它返回整个字符串,而我只想获取双括号中的文本

line2="Name: <<NAME>>   (<<COURSE>>)"
var pattern=@"<<.*?>>";
MatchCollection matches= Regex.Matches(line2,pattern);
line2=“名称:()”
var模式=@;
MatchCollection matches=Regex.matches(第2行,模式);

我做的是否正确,请指导?

使用此分组结构:
(?子表达式)
,如:

string line2 = "Name: <<NAME>>   (<<COURSE>>)";
var pattern = @"<<(?<value>\w+)\>>";
MatchCollection matches = Regex.Matches(line2, pattern);
string name = matches[0].Groups["value"].Value; // "NAME"
string course = matches[1].Groups["value"].Value; // "COURSE"
string line2=“Name:()”;
var模式=@;
MatchCollection matches=Regex.matches(第2行,模式);
字符串名称=匹配[0]。组[“值”]。值;//“姓名”
字符串course=匹配[1]。组[“值”]。值;//“课程”
它将捕获的子表达式放入命名组(此处为“值”)。要访问匹配项,请使用
数组,就像我上面所做的那样


进一步的信息提供了

您可以自己测试是否正确。它以以下格式提供输出:并且,这不是我想要的,我只想要名称和课程。您应该查看。