JAVA 正则表达式(heima)

JAVA 正则表达式(heima)

c 复制代码
public class RegexDemo01 {
    /*
    * 正则表达式介绍:本质来说就是一个字符串,字符串中可以指定规则,来对其他字符串进行校验。
    * public boolean matches(String regex):根据传入的正则表达式,来对字符串进行校验,返回true,false
    */
    public static void main(String[] args) {
        String terRegex = "1[3-9]\\d{9}";
        String tel = "13982231512";
        System.out.println(tel.matches(terRegex));


    }
}


c 复制代码
public class RegexTest01 {

    public static void main(String[] args) {
        String qqRegex = "[1-9]\\d{4,11}";
        System.out.println("12456".matches(qqRegex));

        String telRegex = "[1][3-9]\\d{9}";
        System.out.println("13982231512".matches(telRegex));

        String eamilRegex = "\\w+@[\\w&&[^_]]{2,10}(\\.[a-z]{2,3})+";
        System.out.println("zhangsan@itcast.qq.com".matches(eamilRegex));
    }
}
c 复制代码
public class RegexTest02 {
    public static void main(String[] args) {
        String content = "先帝1创业2未半而中道3崩殂4,今5天下三分6,益州疲弊7,此8诚危急存亡之秋也。然9侍卫之臣不懈于内,忠志之士忘身10于外者,盖追先帝之殊遇11,欲报之于陛下也。诚宜12开张圣听13,以光14先帝遗德,恢弘15志士之气,不宜妄自菲薄16,引喻失义17,以塞忠谏之路也18。\n" +
                "宫中府中,俱为一体19;陟罚臧否20,不宜异同:若有作奸犯科21及为忠善者22,宜付有司23论其刑赏24,以昭陛下平明之理25;不宜偏私26,使内外异法也27。\n" +
                "侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯28,是以先帝简拔以遗陛下29:愚以为宫中之事,事无大小,悉以咨之30,然后施行,必能裨补阙漏31,有所广益32。\n" +
                "将军向宠,性行淑均33,晓畅34军事,试用35于昔日,先帝称之曰"能",是以众议举宠为督36:愚以为营37中之事,悉以咨之,必能使行阵38和睦,优劣得所39。\n" +
                "亲贤臣,远小人40,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓41也。先帝在时,每与臣论此事,未尝不叹息痛恨42于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节43之臣,愿陛下亲之信之,则汉室之隆44,可计日45而待也。";

        content = content.replaceAll("\\d", "");

        System.out.println(content);
    }
}
c 复制代码
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexTest03 {
    /*
        需求:请把下面文本中的电话,邮箱,座机号码,热线都爬取出来。

        public static Pattern compile(String regex) : 将正则表达式封装为对象
     */
    public static void main(String[] args) {
        String data = "来黑马程序员学习Java," + "电话:18666668888,18699997777或者联系"
                + "邮箱:boniu@itcast.cn 邮箱:bozai@itcast.cn 邮箱2:dlei0009@163.com"
                + "座机电话:01036517895,010-98951256 "
                + "热线电话:400-618-9090 ,400-618-4000,4006184000,4006189090";

        String regex = "[1][3-9]\\d{9}|[\\w]+@[\\w&&[^_]]{2,10}(\\.[a-z]{2,3})+|0\\d{2,3}-?\\d{8}|400-?\\d{3}-?\\d{4}";

        // 1. 将正则表达式封装为对象
        Pattern pattern = Pattern.compile(regex);

        // 2. 调用对象的方法, 获取匹配器对象
        Matcher matcher = pattern.matcher(data);

        // 循环的查找
        while (matcher.find()) {
            // 满足条件进入循环, 说明找到了
            // 调用方法, 将找到的内容获取出来
            String s = matcher.group();
            System.out.println(s);
        }
    }
}
相关推荐
芝士就是力量啊 ೄ೨3 小时前
Python如何编写一个简单的类
开发语言·python
橘子海全栈攻城狮4 小时前
【最新源码】养老院系统管理A013
java·spring boot·后端·web安全·微信小程序
逻辑驱动的ken4 小时前
Java高频面试考点18
java·开发语言·数据库·算法·面试·职场和发展·哈希算法
MoonBit月兔4 小时前
「Why MoonBit 」第一期——Singularity Note AI 学习助手
开发语言·人工智能·moonbit
木木_王4 小时前
嵌入式Linux学习 | 数据结构 (Day05) 栈与队列详解(原理 + C 语言实现 + 实战实验 + 易错点剖析)
linux·c语言·开发语言·数据结构·笔记·学习
冷雨夜中漫步4 小时前
Claude Code源码分析——Claude Code Agent Loop 详细设计文档
java·开发语言·人工智能·ai
超龄编码人4 小时前
Qt Widgets Designer QTabWidget无法添加布局
开发语言·qt
直奔標竿4 小时前
Java开发者AI转型第二十六课!Spring AI 个人知识库实战(五)——联网搜索增强实战
java·开发语言·人工智能·spring boot·后端·spring
Python大数据分析@4 小时前
CLI一键采集,使用Python搭建TikTok电商爬虫Agent
开发语言·爬虫·python
@小码农5 小时前
2026年3月Scratch图形化编程等级考试一级真题试卷
开发语言·数据结构·c++·算法