zoukankan      html  css  js  c++  java
  • JAVA正则表达式匹配,替换,查找,切割

    import java.util.ArrayList;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;

    public class test {
        public static void main(String[] args) {
            getStrings(); //用正则表达式获取指定字符串内容中的指定内容
            System.out.println("********************");
            replace(); //用正则表达式替换字符串内容
            System.out.println("********************");
            strSplit(); //使用正则表达式切割字符串
            System.out.println("********************");
            strMatch(); //字符串匹配
        }

        private static void strMatch() {
            String phone = "13539770000";
            //检查phone是否是合格的手机号(标准:1开头,第二位为3,5,8,后9位为任意数字)
            System.out.println(phone + ":" + phone.matches("1[358][0-9]{9,9}")); //true    
            
            String str = "abcd12345efghijklmn";
            //检查str中间是否包含12345
            System.out.println(str + ":" + str.matches("\\w+12345\\w+")); //true
            System.out.println(str + ":" + str.matches("\\w+123456\\w+")); //false
        }

        private static void strSplit() {
            String str = "asfasf.sdfsaf.sdfsdfas.asdfasfdasfd.wrqwrwqer.asfsafasf.safgfdgdsg";
            String[] strs = str.split("\\.");
            for (String s : strs){
                System.out.println(s);
            }        
        }

        private static void getStrings() {
            String str = "rrwerqq84461376qqasfdasdfrrwerqq84461377qqasfdasdaa654645aafrrwerqq84461378qqasfdaa654646aaasdfrrwerqq84461379qqasfdasdfrrwerqq84461376qqasfdasdf";
            Pattern p = Pattern.compile("qq(.*?)qq");
            Matcher m = p.matcher(str);
            ArrayList<String> strs = new ArrayList<String>();
            while (m.find()) {
                strs.add(m.group(1));            
            } 
            for (String s : strs){
                System.out.println(s);
            }        
        }

        private static void replace() {
            String str = "asfas5fsaf5s4fs6af.sdaf.asf.wqre.qwr.fdsf.asf.asf.asf";
            //将字符串中的.替换成_,因为.是特殊字符,所以要用\.表达,又因为\是特殊字符,所以要用\\.来表达.
            str = str.replaceAll("\\.", "_");
            System.out.println(str);        
        }
    }
  • 相关阅读:
    hdu1078 记忆化搜索
    AC之路开始了~
    Balanced Lineup poj3264 线段树
    Billboard 题解 hdu2795
    Count Color poj2777 线段树
    D-query SPOJ 树状数组+离线
    Poj 3468 A Simple Problem with Integers 线段树
    最小生成树两大算法总结+模板
    最短路三大算法及其优化算法大总结+模板
    POJ-1502 MPI Maelstrom 迪杰斯特拉+题解
  • 原文地址:https://www.cnblogs.com/jxgxy/p/2615997.html
Copyright © 2011-2022 走看看