使用正则表达式解析字符串的第二个数字组合

Parse second number combination of string with Regex

我相信这很简单,但我想不通。

我有一个看起来像这样的字符串:

 control366NameJ04

我想从该字符串中解析第二个数字“04”。

我试过使用正则表达式,但我只能提取第一个数字“366”。

 Regex.Match(control,@"\d+");

如何使用正则表达式从字符串中解析出第二个数字。如果我不能使用正则表达式,我可以在 C# 中使用其他东西吗?

如果您知道第二个数字将是字符串的末尾,您可以使用此正则表达式:

\d+$

它将匹配紧接在字符串末尾之前的一位或多位数字。

您可以使用 Regex.Matches 获取字符串中的所有匹配项,然后您可以在返回的 Match 数组中获取您想要的任何位置

var matches = Regex.Matches(control, @"\d+");

var d = Regex.Matches("control366NameJ04", @"\d+").Cast<Match>().Last().Value;