您当前的位置: 首页 >  Java

white camel

暂无认证

  • 0浏览

    0关注

    442博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

重学JavaSE 第20章 : 正则表达式介绍、String类相关使用、正则表达式速查表

white camel 发布时间:2022-03-29 01:06:45 ,浏览量:0

文章目录
  • 正则表达式
    • 为什么要学习正则表达式
    • 正则表达式介绍
    • 正则初体验(先感受一波)
  • 正则表达式底层原理
  • 正则表达式语法
    • 元字符 --- 单字符匹配符 (只能匹配一个字符)
    • 元字符 --- 选择匹配符
    • 元字符 --- 限定符 (量词)
    • 贪婪、勉强、独占
    • 元字符 --- 定位符(边界匹配符)
    • 分组组合
      • 捕获分组
      • 非捕获分组
      • 非贪婪匹配
  • 正则表达式练习
  • 正则表达式常用类 (Pattern、Matcher)
    • 分组反向引用
    • String类中使用正则表达式
  • 基础正则表达式速查表

正则表达式

MJ: Java正则表达式

为什么要学习正则表达式
  • 提取文章中所有的 英文单词 / 数字 / 或者单词数字 如果按照我们对字符串的操作满足上面的要求, 工作量会很大; 这时我们就需要使用 正则表达式

  • 当我们对字符串或文本进行过滤/提取, 就需要使用正则表达式; 正则表达式是处理文本的利器

  • 为了解决上面的问题, Java提供了正则表达式技术, 专门用于处理类似的问题; 简单的说: 正则表达式是对字符串执行模式匹配的技术

  • 正则表达式 — regular expression — RegExp

正则表达式介绍

正则表达式是对字符串执行模式匹配的技术

一个正则表达式, 就是用某种模式去匹配字符串的一个公式; 一旦掌握正则表达式, 之前花费几小时而且容易出错的文本处理工作缩短在几分钟内完成。

正则初体验(先感受一波)
public class Regexp01 {

    @Test
    public void test01() {
	
	// 正则表达式, 模式匹配, 根据提供的文本内容, 一个字符一个字符进行模式匹配

        String content = "1998年12月8日,第二代Java平台的企业版J2EE发布。";
        //1. 先创建一个Pattern对象, 模式对象 --> 正则表达式对象
        
        // ----提取文章中所有的英文单词----
        // Pattern pattern = Pattern.compile("[a-zA-Z]+");
        
        // ----提取文章中所有的数字----
		// Pattern pattern = Pattern.compile("[0-9]+");  
		
		// ----提取文章中所有的英文单词和数字----               
		Pattern pattern = Pattern.compile("([0-9]+)|([a-zA-Z]+)"); 

        //2. 创建匹配器对象;
        Matcher matcher = pattern.matcher(content);
        //3. 开始循环匹配. 找到就返回true, 否则返回false
        while (matcher.find()) {
            // 匹配内容,文本,放到m.group(0)中
            System.out.println("找到:" + matcher.group(0));
        }
    }
    找到:1998
	找到:12
	找到:8
	找到:Java
	找到:J
	找到:2
	找到:EE

    @Test
    public void test02() {
        String content = "\n" +
                "                国家卫健委:疫苗接种遵循自愿原则\n" +
                "                ";

        //1. 先创建一个Pattern对象, 模式对象 --> 正则表达式对象
        Pattern pattern = Pattern.compile("            
关注
打赏
1661428283
查看更多评论
0.0438s