使用什么正则表达式从一个字符串中获取一个数字,该字符串可能有也可能没有小数部分?

时间:2014-05-18 08:56:10

标签: c# regex

示例字符串

asda25asd.56asda
a$asdas23asdas
as$dasd.56asdasd

我目前最好的是

\$?.*?(?<AmountInt>\d+).*(?<AmountDecimal>\.\d+)?.*

但它不捕获第一个字符串中的.56,并且不适用于其他字符串。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

为什么所有的噪音? (?<AmountInt>\d+)(?<AmountDecimal>\.\d+)?就足够了。

现在,AmoutInt\d+,因此必须在点之前有一个整数。否则使用\d*

编辑 - 好的,我更了解你的要求。但是群体之间的.*是贪婪的。请改为.*?