Regex 使用正则表达式提取字符串开头的美元金额

Regex 使用正则表达式提取字符串开头的美元金额,regex,Regex,需要帮助提取字符串开头的美元金额 范例 字符串:$50000.00指定为10万美元/30万美元限额的被保险人 输出:50000 这就是我尝试的\$\d.*000\.00,但我确信有更好的方法 ^\$?([\d,\.]+)\b 或者类似的东西。细分: ^ # anchor to start of line \$? # look for dollar sign (but optional) ( # begin capture group

需要帮助提取字符串开头的美元金额

范例

字符串:
$50000.00指定为10万美元/30万美元限额的被保险人

输出:
50000

这就是我尝试的
\$\d.*000\.00
,但我确信有更好的方法

^\$?([\d,\.]+)\b
或者类似的东西。细分:

^            # anchor to start of line
\$?          # look for dollar sign (but optional)
(            # begin capture group
  [\d,\.]+   # match 1 or more of the following: `0-9`, `,` or `.`
)            # end capture group
\b           # word boundary
可在此处找到上述示例:


注意:如果您希望将其转换为语言中的双精度/浮点值,则需要一个忽略逗号的解析器或执行一些简单的字符串操作来删除它们。

尝试以下正则表达式:

\$(\S+)
这将为您提供准确的金额
50000.00

找到
$
符号,然后匹配所有非空白字符

试试看:

^\$(\d{1,3}(?=,\d{3})*.\d{2})

当在字符类中指定时,您不需要转义
。@devnull:确实如此,但对于初学者来说(尤其是在其他情况下),因此当他们在其他地方使用它时,他们不会奇怪为什么它在某些情况下有效而在其他情况下无效。;-)而且你也可以丢掉包装上的斜线——它们与你无关regex@Santosh:没问题,很高兴听到!