zoukankan      html  css  js  c++  java
  • Java常用正则表达式

    ^相当于正则表达式里面的取反

    匹配一个或多个数字:\d+,[0-9]{1,}

    匹配中文:[u4e00-u9fa5](unicode编码,是中文编码的开始和结束两个值)

    匹配英文字母:[a-zA-Z]

    1、匹配字符串里的数字

    public static void main(String[] args) { 
           String regEx = "[^0-9]";
            String str1 = "abc123d456dfdAA;78';./";
            String str2 = "12345678";
            Pattern pattern = Pattern.compile(regEx);
            Matcher matcher1 = pattern.matcher(str1);
            Matcher matcher2 = pattern.matcher(str2);
            String result1 = matcher1.replaceAll("").trim();
            String result2 = matcher2.replaceAll("").trim();
            System.out.println(result1);
            System.out.println(result2);
    }

    2、匹配中文

        public static void main(String[] args) {
            String str = "123大家好abc开心快乐ef每一天c";
    
            String reg = "[^u4e00-u9fa5]";
    
            Pattern pat = Pattern.compile(reg);
    
            Matcher mat=pat.matcher(str);
    
            String repickStr = mat.replaceAll("");
    
            System.out.println(repickStr);
        }

    3、匹配英文 

        public static void main(String[] args) {
            String reg = "[^a-zA-Z]";
            String fileName = "TERMINAL_JOURNAL_DATA-20190506100000.txt ";
            String processType = fileName.replaceAll(reg, "");
            System.out.println(processType);//TERMINALJOURNALDATAtxt
        }

    4、提取括号中的内容

        // 提取小括号里的值
        public static Pattern EXTRACT_PARENTHESES_PATTER = Pattern.compile("(?<=\()[^\)]+"); // 这个替换调响应的\( 和\),换成\{, \(, \[ 等可以提取中括号,大括号里面的值,比较通用
        // 提取中括号里的值
        public static Pattern EXTRACT_MIDDLE_BRACKETS_PATTER = Pattern.compile("(\[[^\]]*\])");
    
    
        public static void main(String[] args) {
            String str1 = "12,32(232,434),(大家好)";
            Matcher matcher = EXTRACT_PARENTHESES_PATTER.matcher(str1);
            List<String> parentheses = new ArrayList<>();
            while (matcher.find()){
                parentheses.add(matcher.group());
            }
            System.out.println("圆括号里面的值:" + parentheses.toString());
            //
            str1 = "12,32[232,434],[大家好]";
            matcher = EXTRACT_MIDDLE_BRACKETS_PATTER.matcher(str1);
            List<String> middleBrackets = new ArrayList<>();
            while (matcher.find()){
                middleBrackets.add(matcher.group());
            }
            System.out.println("中括号里面的值:" + parentheses.toString());
        }

     结果:

  • 相关阅读:
    关于做项目
    不一样的Android studio
    你认为一些军事方面的软件系统采用什么样的开发模型比较合适?
    关于Android studio
    面向对象建模所用图的简单总结
    浅谈Android 01
    用例图与类图的联系与区别
    面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答。
    你认为一些军事方面的软件系统采用什么样的开发模型比较合适?
    项目答辩后的感想
  • 原文地址:https://www.cnblogs.com/xhy-shine/p/10516590.html
Copyright © 2011-2022 走看看