用于验证Decimal(不包括零)的Regex字符串

本文关键字:Regex 字符串 不包括 验证 Decimal 用于 | 更新日期: 2023-09-27 18:25:48

我有一个函数,它创建Regex字符串来验证小数。

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

有人能告诉我怎么才能把零排除在外吗?

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

感谢

用于验证Decimal(不包括零)的Regex字符串

Amy的正确例子会很好。

然而,我是盲目的。

你想排除所有的零,还是只排除零值?

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

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

要排除数字零。。。这实际上不是一个很好的regex检查。这是一个价值检查。

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

我相信用正则表达式来表示零值是可能的。但我强烈建议不要这样做。也就是说,如果你致力于忽略这个建议,那么你可能会想研究Negative Lookahead正则表达式结构。