簡體   English   中英

正則表達式排除某些錯誤的數字模式

[英]Regex to exclude certain wrong numbers pattern

我在 java 中有一個字符串數組,其中包含良好的數字類型:

 String [] valid={"5","-1","0","0.0","8.0","1.5","0.7","-0.2","0.09","-0.15"};

我有這個正則表達式來匹配並檢查它們是否有效:

    static boolean checkValidNum(String n){
        return n.matches("^-?\\d+(\\.\\d+)?");
    }

這個正則表達式可以檢查什么是好的和有效的數字,但我想排除以下作為有效數字:

    String [] invalidNum = {"001","-00.2","-0","-0.0"};

我應該在我的正則表達式中添加什么以使其在這些數字上返回 false?

使用|提供一些替代方案 ,例如

static boolean checkValidNum(String n) {
    return n.matches("^-?([1-9]\\d*(\\.\\d+)?|0\\.\\d*[1-9]\\d*)|0(\\.0)?");
}

暫無
暫無

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

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