首页 > 解决方案 > 十进制且只有正数值

问题描述

我可以将什么正则表达式用于正数值和十进制值?

Accepted values: 0, 22.5 , 0.35 , 89 , .38
Invalid values : -22 , -.25 , -0.66 , abc, -22abc, 55er

我已经尝试过了,但我得到了错误

^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$"

太多)的

^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*$

标签: c#regex

解决方案


您缺少)正则表达式中的关闭。

^\d*\.?\d*[1-9]+\d*$)|(^[1-9]+\d*\.\d*)$

但是,我强烈建议您查看Decimal.TryParse而不是尝试自己使用字符串格式验证数字。


推荐阅读