天天看點

初識正規表達式 | 帶你學《Java語言進階特性》之二十三

上一篇:一文教你掌握日期操作 | 帶你學《Java語言進階特性》之二十二

在開發過程中,使用者輸入的資料往往需要接收為String字元串,而在處理時為了驗證資料的格式,保證資料能夠安全轉換,我們可以使用正規表達式來達到這個目的。

【本節目标】

通過閱讀本節内容,你可以了解到常用的驗證字元串格式的方法是使用正規表達式,并學會簡單的使用正規表達式來驗證字元串是否為數字。

通過之前一系列的分析可以發現,String是一個非常萬能的類型,因為String不僅僅可以支援有各種字元串的處理操作,也支援有向各個資料類型的轉換功能,是以在項目的開發中,隻要是使用者輸入的資訊基本上都用String表示。于是在向其他資料類型轉換時,為了保證轉換的正确性,往往需要對其進行一些複雜的驗證處理,那麼這種情況下如果隻是單純的依靠String類中的方法是非常麻煩的。

認識正規表達式

現在假設有一個字元串要求你判斷是否由數字所組成,如果由數字所組成則将其變為數字進行乘法計算。

public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        String str = "123";
        if (isNumber(str)) {
            int num = Integer.parseInt(str);
            System.out.println(num * 2);   //246
        }
    }
    public static boolean isNumber(String str) {
        char data[] = str.toCharArray();
        for (int x=0;x < data.length;x++){
             if (data[x] >'9'|| data[x]< '0'){
                 return false;
             }
        }
        return true;
    }
}           

實際上這種驗證的功能是非常簡單的,但是這如此簡單的功能卻需要開發者編寫大量的程式邏輯代碼,那如果更加複雜的驗證呢?那麼在這種情況下,對于驗證來講最好的做法就是利用正規表達式來完成。

範例:使用正規表達式實作同樣的效果

public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        String str = "123";
        if (str.matches("\\d+")) {
            int num = Integer.parseInt(str);
            System.out.println(num * 2);   //246
        }
    }
}           

正規表達式最早是從Perl語言裡面發展而來的,而後在JDK 1.4以前如果 需要使用到正規表達式的相關定義則需要單獨引入其他的*.jar檔案,但是從JDK1.4後,正則已經預設被JDK所支援,并且提供有java.util.regex開發包,同時針對于String 類也進行了一些修改,使其可以有方法直接支援正則處理。

使用正則最大特點在于友善進行驗證處理,以及友善進行複雜字元串的修改處理。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:使用正則必備标記 | 帶你學《Java語言進階特性》之二十四 更多Java面向對象程式設計文章檢視此處