0

我有一个函数可以创建用于验证十进制的正则表达式字符串。

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

谁能让我知道如何排除零?

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

谢谢

4

1 回答 1

0

艾米是对的 - 例子会很好。

但是,我要瞎了。

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

要排除零,试试这个,看看会发生什么。

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

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

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

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

于 2013-07-31T23:15:37.157 回答