Alerr Asked:2020-04-27 18:20:44 +0000 UTC2020-04-27 18:20:44 +0000 UTC 2020-04-27 18:20:44 +0000 UTC 如何用正则表达式提取数字? 772 大家好! 有一行始终包含AAAA_num1_num2. AAAA_- 总是相同的字符。 num1,num2是数字 (int)。用这个分隔所有字符:_. 我使用 Int.parse 提取数字,但我想用正则表达式来完成。你能告诉我实现这个的最佳方法吗? c# 2 个回答 Voted RusArt 2020-04-27T18:27:14Z2020-04-27T18:27:14Z 或者,如果您省略各种检查,如下所示: var match = new Regex(@"_(\d+)_(\d+)").Match(); var num1 = int.Parse(match.Groups[1]); var num2 = int.Parse(match.Groups[2]); 正则表达式中的括号被转换成组。此外,总是有一个多组(索引为 0 的组是匹配本身) Best Answer Mikhail M 2020-04-27T18:28:45Z2020-04-27T18:28:45Z 以下代码将从字符串中提取所有数字: string pattern = @"\d{1,}"; Regex rgx = new Regex(pattern); string s = ...; foreach (Match match in rgx.Matches(s)) Console.WriteLine(match.Value); 点击链接进行实验: https ://regex101.com/r/NxqnC7/1
或者,如果您省略各种检查,如下所示:
正则表达式中的括号被转换成组。此外,总是有一个多组(索引为 0 的组是匹配本身)
以下代码将从字符串中提取所有数字:
点击链接进行实验: https ://regex101.com/r/NxqnC7/1