首页 > 解决方案 > $符号正则表达式后提取数字

问题描述

我有一个从单元格中提取数字的 excel 函数,但我想更改模式以在 $ 符号后提取数字。

数量范围为 1-100000。它也可以有小数点(例如 1.1000)。数字永远不会是负数。数字将始终跟随 $ 符号。

前任。Text text $50.35

我需要得到50.35.

我需要帮助编写 .pattern 部分。我尝试过并且一直失败。

非常感谢您的帮助。

标签: regexexcel

解决方案


您可能会匹配美元符号并捕获组中的数字。

\$([1-9][0-9]{0,4}(?:\.\d+)?|100000(?:\.0+)?)(?!\S)

解释

  • \$匹配美元符号
  • (捕获组
    • [1-9][0-9]{0,4}匹配从 1 - 99999
    • (?:\.\d+)?可选择匹配一个点和 1 个以上的数字
    • |或者
    • 100000(?:\.0+)?匹配 100000 和可选的点和 1+ 次 0
  • )关闭捕获组 1
  • (?!\S)断言右边的不是非空白字符

正则表达式演示


推荐阅读