JAVA:使用Pattern移除List相應元素(如去除帶數字的元素),附上java Pattern相關正則表達式

話不多說,上代碼:

List<String> list = new ArrayList<String>(){ 
    {
        // list初始數據
        addAll(Arrays.asList("puyuma0216puyuma".split("")));//將數組轉化爲list
        add("puyuma"); 
        add("0216"); 
        add("puyuma0216") ;
    }
};

System.out.println("list初始數據:" + list);

Pattern pattern = Pattern.compile("\\d");//正則表達式匹配數字
Predicate<String> filter = s -> pattern.matcher(s).find();
list.removeIf(filter);

//上面三行代碼可以寫成
//list.removeIf(s -> Pattern.compile("\\d").matcher(s).find());

System.out.println("list移除後的數據:" + list);

控制檯打印如下:
在這裏插入圖片描述

附上java Pattern相關正則表達式:

Pattern pattern=Pattern.compile(".*java"); //所有以java結尾的字符

pattern=Pattern.compile("^[\\d]*$"); //匹配所有長度的數字

pattern=Pattern.compile("^[\\d]{2}$"); //匹配2個長度的數字

pattern=Pattern.compile("^[\\d]{2}[\\D]$"); //匹配2個長度的數字,並且第三個字符必須不是數字

pattern=Pattern.compile("^[\\d]{2}.*[w]$"); //匹配2個長度的數字,中間字符是任意長度的字符,並且最後一個字符是w

pattern=Pattern.compile("^[\\d]{2}[a|b][w]$"); //匹配2個長度的數字,中間字符只能是a和b字符,並且最後一個字符是w

pattern=Pattern.compile("^[aa]$"); //匹配1個長度的a

pattern=Pattern.compile("^[aa||bb]$"); //匹配1個長度的a或1個長度的b

pattern=Pattern.compile("^[a||[0-9]]$"); //匹配1個長度的a或1個長度的0-9

pattern=Pattern.compile("^[0-9]{2}[a-z]{1}[0-9]{2}$"); //匹配2個長度的0-9和1個長度的a-z和2個長度的0-9

pattern=Pattern.compile("^[[a-z]||[0-9]]{2}$"); //匹配2個長度的a-z和2個長度的0-9,或者a-z,0-9兩個任意字符

pattern=Pattern.compile("^[[a-z]&[0-9]]{2}$"); //匹配2個長度的a-z和2個長度的0-9 ,或者a-z,0-9兩個任意字符,同上

pattern=Pattern.compile("^[[a-z]|[0-9]]{2}$"); //匹配2個長度的a-z和2個長度的0-9 ,或者a-z,0-9兩個任意字符,同上

pattern=Pattern.compile("\r\\\\."); //匹配1個空格和兩個\\

pattern=Pattern.compile("\r\\."); //匹配1個空格和一個.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章