[英]regex for floating point number less than or equal to 4.5
我正在嘗試^[0-4][\\.][0-5][0-9]*
但它也適用於4.56
之類的數字,但與3.958
數字不匹配
考慮以下模式:
^(?:[0-3](?:\.[0-9]+)?|4(?:\.[0-4][0-9]*)?|4\.50*|-[0-9]+(?:\.[0-9]+)?)$
^^^ ^^^ ^^^ ^^^
0 to 3 4.0...4.4999... 4.5 any negative number
這表示要匹配0
到3
,后跟任意可選的小數部分,或者匹配4
后面跟着0
到4
,然后匹配其他任何數字。 交替的最后一部分允許任何負數。
但是,話雖這么說,進行此比較的簡單得多的方法是在編程語言中使用不等式運算符。 例如,可以使用以下命令在Java中替換上述復雜的正則表達式:
float f = 3.4f;
if (f <= 4.5f) {
System.out.println("match");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.