使用Regex解析字符串的第二个数字组合

时间:2015-01-09 20:20:45

标签: c# regex

我确信这很简单,但我无法弄清楚。

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

 control366NameJ04

我想解析第二个号码' 04'从那个字符串。

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

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

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

3 个答案:

答案 0 :(得分:2)

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

\d+$

它将匹配紧跟在字符串结尾之前的一个或多个数字。

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

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