Java中怎样获取字符串中的数字和字符串,并将获取到的内容进行倒置

String a = "a0bc1de2f3gh4igkl5mnop6qrst7uv8wsy9z";
        //获取字符中的数字操作
        String regEx = "[^0-9]";
        Pattern p1 = Pattern.compile(regEx);
        Matcher m1 = p1.matcher(a);
        String xc1=m1.replaceAll("").trim();
        //数字倒序操作
        StringBuilder dz1 = new StringBuilder(xc1);
        System.out.println("正序数字:"+xc1);
        System.out.println("倒序数字:"+dz1.reverse().toString());


        //获取字符中的字母操作
        String regEx2 ="[^a-z]";
        Pattern p2 = Pattern.compile(regEx2);
        Matcher m2 = p2.matcher(a);
        String xc2= m2.replaceAll("").trim();
        //字母倒序操作
        StringBuilder dz2 = new StringBuilder(xc2);
        System.out.println("正序字符:"+xc2);
        System.out.println("倒序字符:"+dz2.reverse().toString());
        
        System.out.println("所有字符:"+m1.replaceFirst("").trim());