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个空格和一个.

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