簡體   English   中英

檢查正則表達式中的最小值

[英]check for minimum amount in regular expression

我有一個正則表達式,用於檢查0到999999之間的值。

/^((?:\d{1,3},)?\d{1,3})(\.\d{2})$/

問題是0.00是有效的。 我想將0.01設置為有效的最小數量。 因此,輸入0.00將使我無效。

我對正則表達式的黑藝術感到恐懼。 有人可以幫忙嗎?

謝謝。

不要將邏輯放入正則表達式中。 它們用於匹配模式,而不是進行數值比較。

在Perl中,這將是:

if ( $s =~ /^((?:\d{1,3},)?\d{1,3})(\.\d{2})$/ && ( $s > 0 ) ) {
    # acceptable number
}

如果正確使用正則表達式,並不是一件黑事。 嘗試對它們進行數值計算不能正確使用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM