我有一个函数可以创建用于验证十进制的正则表达式字符串。
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正则表达式结构。