簡體   English   中英

正則表達式匹配帶小數的數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM