当前位置: 首页 > news >正文

Java基础编程练习第34题-正则表达式

在Java里,正则表达式是一种强大的文本处理工具,它可以用于字符串的搜索、替换、分割和校验等操作。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。Java通过java.util.regex包提供了对正则表达式的支持。

以下是正则表达式在Java中的几个关键概念:

1.模式(Pattern):正则表达式定义的字符串模式,用于匹配、查找或其他操作。

2.匹配器(Matcher):用于对输入字符串进行模式匹配的引擎,它可以根据模式来检查输入字符串是否与之匹配。

3.元字符(Metacharacters):具有特殊含义的字符,如^、$、.等。

在网上找到了这张图片我觉得还可以:

后面我会用代码的形式来讲解:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
//导入必要的类

public class demo6 {
    public static void main(String[] args){

        //这里定义了两个字符串变量:content保存要搜索的文本,regex保存正则表达式模式。
        String content="plz@haut.edu.cn";
        String regex = "\\w+@\\w+\\.edu.cn";
        //这一行代码使用Pattern.compile方法将正则表达式字符串编译成一个Pattern对象。
        Pattern pat = Pattern.compile(regex);
        //这一行代码使用Pattern对象的matcher方法,传入要搜索的字符串content,创建了一个Matcher对象。
        Matcher mat = pat.matcher(content);
        //Matcher对象的find方法用于在输入字符串中查找下一个与正则表达式匹配的子串。如果找到匹配项,它将返回true。
        if(mat.find()){
            System.out.println(mat.group(0));
        }
    }
}

在这里,因为正则表达式中的点号(.)是元字符,所以需要使用双反斜杠(\\.)进行转义。而(@)不是所以前面不需要转义符号。如:

 String regex = "\\w+@\\w+\\.edu.cn";

需要注意的是:在这段代码中,mat.group(0)方法用于获取整个正则表达式匹配的字符串。group(0)表示获取整个匹配结果,而group(1),group(2),...等可以用来获取正则表达式中括号内定义的分组匹配结果。

相关文章:

  • 关于Number(null) === 0差点引发的事故
  • 【机器学习】特征工程
  • 【Linux】chmod`和`chown`
  • 机器学习概要
  • MySQL 入门大全:查询语言分类
  • 使用Python进行数据分析时,CSV文件导入的两种方法
  • 2025/03/19 Cursor使用方法(Java方向,适合Java后端把家从idea搬家到cursor)
  • 使用Streamlit快速构建数据应用程序
  • 当发现提示少文件,少目录时时,external.css的内容
  • 《算法笔记》9.3小节——数据结构专题(2)->树的遍历 问题 A: 树查找
  • Tomcat - Session 会话保持
  • 《Waf 火绒终端防护绕过实战:系统程序副本+Certutil木马下载技术详解》
  • 【NLP】 API在大语言模型中的应用
  • FPGA管脚约束
  • docker5-容器综合实战与存储卷
  • 优先级队列 2
  • 【JavaEE】网络编程socket
  • 【面试中的分布式定时任务】
  • 上海亚商投顾:沪指窄幅震荡 深海科技概念持续活跃
  • 封装一个分割线组件
  • 郭旭涛转任河北省科协党组书记、常务副主席,曾任团省委书记
  • 巴菲特股东大会4.5万字问答实录:股神60年穿越牛熊的最新心得和人生思考
  • 解放军报八一锐评:青春无限好,奋斗正当时
  • 经济日报头版评论:矢志奋斗筑梦青春中国
  • 中虎跳峡封闭仍有游客逆行打卡,景区:专人值守防意外
  • 5月1日,全社会跨区域人员流动量完成33271.4万人次