正则表达式

正则表达式

概念:

 · 就是由一些特定的字符组成的,代表的是一个规则

作用一:用来校验数据格式是否合法

作用二:在一段文本中查找满足要求的内容

65c408488aea4eabb727f29824955ef4.png

初体验:

public class Work1 {
    public static void main(String[] args) {
        System.out.println(checkqq(null));
        System.out.println(checkqq("25123432"));
        System.out.println(checkqq("234333t53"));
    }
    public static boolean checkqq(String qq){
        return qq!=null && qq.matches("[1-9]\\d{5,19}");
    }
}

书写规则:

71011a7c70124df5a86390b9b3f6c140.png

 e4ff065e2f204d538aecdf8771b0a0e7.png

6a0a65c9eada4bbeab9b0aa91ccfa23f.png

2e048b14c698418ca0ca3d10726d19f0.png

应用案例:

import java.util.Scanner;

public class Work1 {
    public static void main(String[] args) {
        checkPhone();
    }
    public static void checkPhone(){
        while (true) {
            System.out.println("请输入你的电话号码(手机|座机)");
            Scanner sc = new Scanner(System.in);
            String phone = sc.nextLine();
            //17516397212 010-34242424 0182783585
            if (phone.matches("(1[3-9]\\d{9})|(0\\d{2,7}-?[1-9]\\d{4,19})")){
                System.out.println("输入的号码格式正确");
                break;
            }else {
                System.out.println("您输入的号码格式不正确");
            }
        }
    }
}

用于查找信息

caf3344638cd467c921bbeeda58443a8.png

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

public class Work1 {
    public static void main(String[] args) {
        method1();
    }
 public static void method1(){
        String data = "来缤纷世界学习java,\n"+
                "       歪歪:1866656398,18699937577\n"+
                "       或者联系邮箱:boniu@itcast.cn,\n"+
                "       座机电话:01036517895,010-98951256\n"+
                "       邮箱:bozai@itcast.cn,\n"+
                "       邮箱:dlei0009@163.com,\n"+
                "       热线电话:400-618-900,400-618-400,4006184000,4006189090";
        //定义爬取规则
        String regex = "(1[3-9]\\d{9})|(0\\d{2,7}-?[1-9]\\d{4,19})|(\\w{2,}@\\w{2,20}(\\.\\w{2,20}){1,2})"
                +"|(400-?\\d{3,7}-?\\d{3,7})";
        //2,把正则表达式封装成一个Pattern对象
        Pattern pattern = Pattern.compile(regex);
        //3,通过Pattern对象去获取查找内容的匹配器对象
        Matcher matcher = pattern.matcher(data);
        //4,定义一个循环开始爬取信息
        while (matcher.find()){
            String rs = matcher.group();//获取到了找到的内容
            System.out.println(rs);
        }

    }
}

用于搜索替换,分隔内容

147f6bdbb9d64632bd18526489ce1845.png

public class Work1 {
    public static void main(String[] args) {
        //把之间的非中文字符替换成"-"
        String s1 = "古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴";
        System.out.println(s1.replaceAll("\\w+", "-"));
        //把"我我我喜欢编编编编编编编编程程程程!"优化成"我喜欢编程!"
        String s2 = "我我我喜欢编编编编编编编编程程程程!";
        /*
        (.)一组 .匹配任意字符
        \\1:为这个组声明一个组号
        +:声明必须是重复的字
        $1:可以去到第一组代表的那个重复的字
         */
        System.out.println(s2.replaceAll("(.)\\1+", "$1"));
        //把人名获取出来
        String s3 = "古力娜扎ai8888迪丽热巴999aa5566马尔扎哈fbbfsfs42425卡尔扎巴";
        String[] names = s3.split("\\w+");
        System.out.println(Arrays.toString(names));
    }
}

相关推荐

  1. 表达式

    2023-12-06 01:32:09       40 阅读
  2. 表达式

    2023-12-06 01:32:09       48 阅读
  3. 表达式

    2023-12-06 01:32:09       47 阅读
  4. 【Python】表达式

    2023-12-06 01:32:09       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 01:32:09       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 01:32:09       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 01:32:09       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 01:32:09       18 阅读

热门阅读

  1. BabySpartan:对non-uniform computation的Lasso-based SNARK

    2023-12-06 01:32:09       39 阅读
  2. Vue-安装及安装相应插件

    2023-12-06 01:32:09       39 阅读
  3. 【Element-ui】Element-ui是什么?如何安装

    2023-12-06 01:32:09       36 阅读
  4. 【Docker仓库】部署Docker Registry web-ui管理镜像仓库

    2023-12-06 01:32:09       36 阅读
  5. Uniapp Vue3 基础到实战 教学视频

    2023-12-06 01:32:09       34 阅读
  6. Android MTK平台配置应用可卸载

    2023-12-06 01:32:09       37 阅读
  7. ubuntu1804安装jupyter中的js环境

    2023-12-06 01:32:09       40 阅读
  8. 1076 Forwards on Weibo (链接表层序遍历)

    2023-12-06 01:32:09       37 阅读
  9. React实现登录授权功能

    2023-12-06 01:32:09       37 阅读