C# 如何在C中匹配和捕获正则表达式#
我有一个这样的正则表达式C# 如何在C中匹配和捕获正则表达式#,c#,regex,C#,Regex,我有一个这样的正则表达式 something (.*) someotherthing 如何使用Regex对象匹配整个表达式并获取捕获值?Regex.match Regex.Match 如果可以使用$1获取该组,则可以使用$0获取整个表达式 这适用于大多数正则表达式变体(可能是\0或%0或其他),而不仅仅是C 类似地,应该使用0作为参数来返回整个匹配项,否则看起来它包含匹配项 同样值得注意的是,为了确保测试字符串与整个表达式匹配,通常最好使用^作为前缀,使用$作为后缀,这是字符串开头和结尾的零
something (.*) someotherthing
如何使用Regex对象匹配整个表达式并获取捕获值?Regex.match
Regex.Match
如果可以使用
$1
获取该组,则可以使用$0
获取整个表达式
这适用于大多数正则表达式变体(可能是\0
或%0
或其他),而不仅仅是C
类似地,应该使用0作为参数来返回整个匹配项,否则看起来它包含匹配项
同样值得注意的是,为了确保测试字符串与整个表达式匹配,通常最好使用
^
作为前缀,使用$
作为后缀,这是字符串开头和结尾的零宽度位置锚。(在多行模式下也是行的开始/结束。)如果可以使用$1
获取该组,则可以使用$0
获取整个表达式
这适用于大多数正则表达式变体(可能是\0
或%0
或其他),而不仅仅是C
类似地,应该使用0作为参数来返回整个匹配项,否则看起来它包含匹配项
同样值得注意的是,为了确保测试字符串与整个表达式匹配,通常最好使用
^
作为前缀,使用$
作为后缀,这是字符串开头和结尾的零宽度位置锚。(在多行模式下也是行的开始/结束。)以下是我认为您要求的示例:
Match m = Regex.Match( "something some stuff in the middle someotherthing",
"something (.*) someotherthing" );
if ( m.Success )
Console.WriteLine( "groups={0}, entire match={1}, first group={2}",
m.Groups.Count, m.Groups[0].Value,
m.Groups[1].Value );
下面是一个我认为你要求的例子:
Match m = Regex.Match( "something some stuff in the middle someotherthing",
"something (.*) someotherthing" );
if ( m.Success )
Console.WriteLine( "groups={0}, entire match={1}, first group={2}",
m.Groups.Count, m.Groups[0].Value,
m.Groups[1].Value );