• 正则表达式--文本处理神器


    正则表达式可视化工具

    引入Pattern,Match,Group

    找到所有单词

       public static void main(String[] args) {
           String content = "1995年,互联网的蓬勃发展给了Oak机会。业界为了使死板、单调的静态网页能够“灵活”起来,急需一种软件技术来开发一种程序,这种程序可以通过网络传播并且能够跨平台运行。于是,世界各大IT企业为此纷纷投入了大量的人力、物力和财力。这个时候,Sun公司想起了那个被搁置起来很久的Oak,并且重新审视了那个用软件编写的试验平台,由于它是按照嵌入式系统硬件平台体系结构进行编写的,所以非常小,特别适用于网络上的传输系统,而Oak也是一种精简的语言,程序非常小,适合在网络上传输。Sun公司首先推出了可以嵌入网页并且可以随同网页在网络上传输的Applet(Applet是一种将小程序嵌入到网页中进行执行的技术),并将Oak更名为Java。5月23日,Sun公司在Sun world会议上正式发布Java和HotJava浏览器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等各大公司都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。" ;
    
           // 创建Pattern,放正则表达式的       Pattern pattern = Pattern.compile("[0-9]+"); :找到所有数字 
           //     匹配简易ip  Pattern pattern = Pattern.compile("\\d+\\.\\d+\\.\\d+\\.\\d");
            Pattern pattern = Pattern.compile("[a-zA-Z]+");
           // 匹配对象
            Matcher matcher = pattern.matcher(content);
    
            //获取结果 matcher:匹配器匹配结果  matcher.find():还有结果就返回true
            while (matcher.find()){
                //输出匹配结果  匹配内容在 m.group(0)
                System.out.println("find:"+matcher.group(0));
            }
    
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    res:

    find:Oak
    find:IT
    find:Sun
    find:Oak
    find:Oak
    ....
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    整体匹配简写

    在这里插入图片描述

    group解析

    在这里插入图片描述

    \ 转义符

    在这里插入图片描述

    在java 中 \ 才表示 转义符 \! = ! \( = (
    例如

         // 创建Pattern 匹配小括号
            Pattern pattern = Pattern.compile("\\(");
           // 匹配对象
            Matcher matcher = pattern.matcher(content);
    
            //获取结果  matcher.find():还有结果就返回true
            while (matcher.find()){
                //输出匹配结果  匹配内容在 m.group(0)
                System.out.println("find:"+matcher.group(0));
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    元字符

    在这里插入图片描述
    在这里插入图片描述

    汉字的检索[\u0391-\uffe5]

    java正则表达式默认是区分字母大小写的,如何实现不区分大小写

    (?i)abc:表示abc都不区分大小写
    a(?i)bc:表示bc不区分大小写
    a((?i)b)c:表示只有b不区分大小写
    Pattern pat = Pattren.compile(regEX,Pattern.CASE_INSENSITIVE);

    元字符-选择匹配符

    在匹配某个字符串的时候是选择性的,即:既可以匹配这个,又可以匹配那个,这时你需要用到哦 选择匹配符 |
    符号 符号 示例 解释

    | : 匹配“|”之前或之后的表达式 ab|cd 匹配ab或者cd

    限定匹配符

    在这里插入图片描述

    {3,7} : 会按照尽量匹配多的 ,例如 a{3,7} 匹配 aaaaaaa res:aaaaaaa 而不是 aaa

    非贪婪匹配

    在这里插入图片描述

    定位符

    元字符-定位符
    定位符,规定要匹配的字符串出现的位置,比如在字符串的开始还是在结束的位置,这个也是相当有用的,必须掌握

    在这里插入图片描述

    非捕获分组

    在这里插入图片描述

    // (?:)
       public static void main(String[] args) {
            String content =  "hellocunk01hellocunk02sd cunk03" ;
            // 创建Pattern
            Pattern pattern = Pattern.compile("cunk(?:01|02|03)" );
           // 匹配对象
            Matcher matcher = pattern.matcher(content);
    
            //获取结果  matcher.find():还有结果就返回true
            while (matcher.find()){
                //输出匹配结果  匹配内容在 m.group(0)
                System.out.println("find:"+matcher.group(0));
            }
    
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述
    在这里插入图片描述

    其他

    1.验证网址 ((http|https)://)([\w-]+\.)+[\w-]+$
    在这里插入图片描述

  • 相关阅读:
    idea 通过tomcat 配置 https方式访问
    [021] [STM32] FSMC外设详解及模拟驱动LCD编程
    51单片机直流电机PID速度控制正反转控制(红外光电测速)LCD1602 L298N
    8.SpringMVC处理ajax请求
    VSCode配置C++环境:g++篇
    Java并发-为什么主线程结束了,程序却没有关闭呢?
    注解(Annotation)基础
    20. 有效的括号
    Redis缓冲穿透和缓冲击穿工具类的封装
    java如何进阶?
  • 原文地址:https://blog.csdn.net/weixin_45699541/article/details/126845654