正则表达式-空格无法获取整数值

Ull*_*lan 0 c# regex

我正在尝试使用正则表达式获得模式匹配。如果消息在模式字符串后面有空格,则它会得到一个空字符串。

string str = "studentId: 1234, Name: Hello";
Regex reg = new Regex(@"studentId:(\d*)", RegexOptions.IgnoreCase);

Match m = reg.Match(str);
Group g = m.Groups[1];
int Id = int.Parse(g.ToString());
Run Code Online (Sandbox Code Playgroud)

学生号:1234(在职) 学生号:1234(不在职) 学生号:1234(不在职)

我需要获取值 1234,无论空格如何。

Wik*_*żew 5

是的,您需要匹配空白字符。

Regex reg = new Regex(@"studentId:\s*(\d+)", RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

细节

  • studentId:- 固定字符串
  • \s*- 零个或多个空格
  • (\d+)- 一位或多位数字(第 1 组)。