繁体   English   中英

正则表达式字符串,用于验证十进制(不包括零)

[英]Regex string for validating Decimal excluding zero

我有一个创建用于验证小数的正则表达式字符串的函数。

public static string DecimalWithPlaces(int wholePart, int fractionalPart)
{
     return @"^-?[0-9]{0," + wholePart + @"}\.[0-9]{1," + fractionalPart + @"}$";
}

有人可以让我知道如何排除零吗?

例如:“ 0”,“ 0.0”,“ 0.00”等不应该匹配。

谢谢

艾米说得对-例子很好。

但是,我要瞎了。

您要排除所有零,还是仅排除零值?

要排除零,请尝试此操作,看看会发生什么。

public static string DecimalWithPlaces(int wholePart, int fractionalPart)
{
    return @"^-?[1-9]{0," + wholePart + @"}\.[1-9]{1," + fractionalPart + @"}$";
}

排除数字零...这实际上不是对正则表达式的好检查。 这是一项价值检查。

在我的书中,您应该对该值使用两个验证步骤。 一种检查其是否满足上述正则表达式的精度/比例要求,另一种检查其非零值。

我确实相信将正则表达式用于零值是可行的。 但我强烈建议不要这样做。 就是说,如果您致力于忽略该建议,那么您可能需要研究Negative Lookahead正则表达式结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM