zoukankan      html  css  js  c++  java
  • Java正则表达式语法及简单示例

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    
    public class TestMatcher {
        public static void main(String[] args) {
            //正则表达式对字符串的常见操作:字符串的匹配、切割、替换、获取。
    
            //字符串的匹配:matches()
            /*常用写法*/
    //        1. boolean b = Pattern.matches("正则表达式", "匹配内容");
            String str = "13111225544";
            String regexp = "\\d{11}$";
            boolean b = Pattern.matches(regexp, str);
            System.out.println("正则匹配结果="+b);
    
            /*标准写法*/
    //        2.Pattern p = Pattern.compile("正则表达式");  Matcher m = p.matcher("匹配内容");
    //        boolean b = m.matches();
    
            Pattern p = Pattern.compile(regexp);
            Matcher m = p.matcher(str);
            boolean b2 = m.matches();
            System.out.println("正则匹配结果="+b2);
    
            /*语句匹配写法*/
    //        3.if("aaab".matches(/^a*b$/)) {};
            System.out.println("正则匹配结果="+(str.matches(regexp)));
    
    
    //        字符串切割:split()
            //DEMO
    //        String str = "需要切割的字符串";
            //描述切割规则
    //        String regex = "正则表达式";
            //切割后的字符串仍是字符串:
    //        String sstr1 = str.split(regex);
            //切割后的字符串放在数组中:
    //        String[] sstr2 = str.split(regex);
    
            String s = "哈哈##呵呵###哦哦#";
            String regex = "#+";
            String[] sstr1 = s.split(regex);
            for(String string:sstr1){
                System.out.print(string);
            }
    
    //        字符串替换:replaceAll()
            //DEMO
    //        String str = "需要替换的字符串";
            //匹配规则
    //        String regex = "正则表达式";
    //        String Str = str.replaceAll(regex, "替换内容");
    
            String str2 = "哈喽##你好###大聪明";
            //匹配规则
            String regex2 = "(.)\\1+";  //拓展:叠词切割 String regex = "(.)\\1+",这里用到了组的概念。
            //替换为:
            String newStr = str2.replaceAll(regex2, "、");
            //替换后结果:
            System.out.println(newStr);
    
    //        字符串获取:group()
            //DEMO
            //获取字符串“Hi ! welcome to my blog haha”中为两个字母的单词.
            String s3 = "Hi ! welcome to my blog haha";
            //1、匹配子串
            String regex3 = "\\b[a-zA-Z]{2}\\b";
            //2、获取匹配器
            Pattern p3 = Pattern.compile(regex3);
            Matcher m3 = p3.matcher(s3);
            //3、使用匹配器的group()方法来获取:(find方法是判断是否具有匹配子串)、
            System.out.println("”"+s+"“中的两个字母的单词有:");
            while(m3.find()){
                System.out.println(m3.group());
            }
    
        }
    
    }
  • 相关阅读:
    java基础:6.3 封装类、Number类、格式化输出、String
    java 快捷键记录
    java基础:6.2 Object、final、abstract、内部类
    如何解决.so 文件下载到mac 失败的问题
    mac 将.so文件上传到SVN上
    限制输入内容的需求
    Android Intent调用 Uri的使用几种格式
    onItemClick的参数
    Android常见的几种RuntimeException
    android:inputType参数类型说明
  • 原文地址:https://www.cnblogs.com/oktokeep/p/15578820.html
Copyright © 2011-2022 走看看