[英]Regex to match a number with decimals
我有以下正则表达式:
var matches = Regex.Matches(s, @"ratingValue"" content=""(?<content>(?:(.|\n)(?!""></span>))+)");
但是,它会在输出后加上“ number。” .
不采取。 例如,如果该数字为4.0
它将输出4.
或者如果它是3.5
它给3.
。
我怎么也能得到小数?
输入示例:
<span itemprop="ratingValue" content="4.0"></span>
我需要输出4.0
。
您可以使用LINQ to XML:
string xml = @"<span itemprop=""ratingValue"" content=""4.0""></span>";
string content = XElement.Parse(xml).Attribute("content").Value;
decimal value = Convert.ToDecimal(content, CultureInfo.InvariantCulture);
我已经更改了您的正则表达式,因此它返回十进制数作为匹配项:
var matches = Regex.Matches(s, @"(?:ratingValue"" content="")(?<content>[\r\n\d\.]*)(?:""></span>)");
这是你所追求的吗? 它从提供的示例中返回4.0。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.