簡體   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