从字符串正则表达式中提取数字

本文关键字:提取 数字 正则表达式 字符串 | 更新日期: 2023-09-27 18:02:03

我真的在正则表达式中挣扎,似乎无法从这个字符串中提取数字

"id":143331539043251,

我试过了……但是我得到编译错误

var regex = new Regex(@""id:"'d+,");

请注意,完整的字符串包含我不想要的其他数字。我想要id:和结尾之间的数字

从字符串正则表达式中提取数字

试试下面的代码:

var match = Regex.Match(input, @"'""id'"":(?<num>'d+)");
var yourNumber = match.Groups["num"].Value;

然后使用提取的数字yourNumber作为字符串或解析为数字类型

如果您需要的只是数字,只需匹配:

[0-9]+

请注意,我没有使用'd,因为它将匹配在任何数字(如阿拉伯数字)在。net正则表达式引擎。


更新问题和答案的注释-下面的正则表达式将匹配模式,并将匹配的数字放在捕获组中:

@"""id"":([0-9]+),"

用作:

Regex.Match(@"""id"":143331539043251,", @"""id"":([0-9]+),").Groups[1].Value

返回143331539043251

如果您愿意使用LINQ,请尝试以下操作(c#):

string stringVariable =" 123cccccbb——556876——==";

var f = (from a in stringVariable.ToCharArray() where Char.IsDigit(a) == true select a);

var number =字符串。加入("f);