C# 如何从字符串中提取浮点数,但不包括同一字符串中的其他数

C# 如何从字符串中提取浮点数,但不包括同一字符串中的其他数,c#,regex,C#,Regex,我有以下字符串: “您已选择:7年固定价格8.25美分/件” 如何在C#中仅从该字符串中提取“8.25” 我尝试了以下正则表达式选项: (\d+)(:\(\d{1,2}))?和-?\d+(?:\。\d+)但两者都只提取“7”,这是它找到的第一个数字。对于此特定示例,您可以使用a并尝试以下操作: (?<float>\d+\.\d+) (?\d+\.\d+) 下面是一个快速演示:使用 \d+(?:\。\d+)(?=\p{Sc}/item) 看 解释 ----------------

我有以下字符串:

“您已选择:7年固定价格8.25美分/件”

如何在C#中仅从该字符串中提取“8.25”

我尝试了以下正则表达式选项:
(\d+)(:\(\d{1,2}))?
-?\d+(?:\。\d+)
但两者都只提取“7”,这是它找到的第一个数字。

对于此特定示例,您可以使用a并尝试以下操作:

(?<float>\d+\.\d+)
(?\d+\.\d+)
下面是一个快速演示:

使用

\d+(?:\。\d+)(?=\p{Sc}/item)

解释

--------------------------------------------------------------------------------
  \d+                      digits (0-9) (1 or more times (matching
                           the most amount possible))
--------------------------------------------------------------------------------
  (?:                      group, but do not capture (optional
                           (matching the most amount possible)):
--------------------------------------------------------------------------------
    \.                       '.'
--------------------------------------------------------------------------------
    \d+                      digits (0-9) (1 or more times (matching
                             the most amount possible))
--------------------------------------------------------------------------------
  )?                       end of grouping
--------------------------------------------------------------------------------
  (?=                      look ahead to see if there is:
--------------------------------------------------------------------------------
    \p{Sc}                 a currency sign
--------------------------------------------------------------------------------
    /item                  '/item'
--------------------------------------------------------------------------------
  )                        end of look-ahead

规则是什么?请尝试只提取后面没有数字的数字。。\d+(?:\。\d+)(?=\d*$)。是否有更多示例?它们的格式总是这样吗?“7”有时也可以是浮点数吗?例如,“8.5年”似乎完全合理。你能在“、/项目”上匹配吗?是的,更多的示例使其更健壮。你是自己创建字符串还是从外部来源获得的?文本来自Sharepoint列表,字符串内容因列表项目而异。我将用C代码示例进一步更新这个问题。我认为科里维拉的解决方案解决了这个问题,我现在正在测试。谢谢,谢谢你,科利维拉