如何在C#中使用Regex检索所选文本?

Eld*_*ila 13 c# regex perl

如何在C#中使用Regex检索所选文本?

我正在寻找与此Perl代码等效的C#代码:

$indexVal = 0;
if($string =~ /Index: (\d*)/){$indexVal = $1;}
Run Code Online (Sandbox Code Playgroud)

Pat*_*ick 7

int indexVal = 0;
Regex re = new Regex(@"Index: (\d*)")
Match m = re.Match(s)

if(m.Success)
  indexVal = int.TryParse(m.Groups[1].toString());
Run Code Online (Sandbox Code Playgroud)

我可能有错误的组号,但你应该能够从这里弄清楚.


Jef*_*ood 7

我认为帕特里克保密工作做的-我唯一的建议是要记住,命名正则表达式组的存在,也让你不具备使用数组索引号.

Regex.Match(s, @"Index (?<num>\d*)").Groups["num"].Value
Run Code Online (Sandbox Code Playgroud)

我发现正则表达式在这种方式下更具可读性,尽管意见各不相同 ......