【Java】正则表达式( Pattern 和 Matcher 类)

news2024/11/19 4:35:32

快速入门

Java 提供了 java.util.regex 包,它包含了 Pattern 和 Matcher 类,用于处理正则表达式的匹配操作。

java.util.regex 包主要包括以下三个类:

  • Pattern 类:
    pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。创建一个 Pattern 对象需要调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。

  • Matcher 类:
    Matcher 对象是对输入字符串进行解释和匹配操作的引擎。Matcher 也没有公共构造方法。需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

  • PatternSyntaxException:
    PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

import java.util.regex.*;
 
class RegexExample1{
   public static void main(String[] args){
      String content = "I am noob " +
        "from runoob.com.";
 
      String pattern = ".*runoob.*";
 
      boolean isMatch = Pattern.matches(pattern, content);
      System.out.println("字符串中是否包含了 'runoob' 子字符串? " + isMatch);
      // 字符串中是否包含了 'runoob' 子字符串? true
   }
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class RegexMatches
{
    public static void main( String[] args ){
 
      // 按指定模式在字符串查找
      String line = "This order was placed for QT3000! OK?";
      String pattern = "(\\D*)(\\d+)(.*)";
 
      // 创建 Pattern 对象
      Pattern r = Pattern.compile(pattern);
 
      // 现在创建 matcher 对象
      Matcher m = r.matcher(line);
      if (m.find( )) {
         System.out.println("MATCH");
      } else {
         System.out.println("NO MATCH");
      }
   }
}

Matcher 类的方法

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1378487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue面试之组件通信的方式总结(下篇)

Vue面试之组件通信的方式总结 $refprovide&injectprovideinject EventBus事件总线vuex 最近在整理一些前端面试中经常被问到的问题,分为vue相关、react相关、js相关、react相关等等专题,可持续关注后续内容,会不断进行整理~ 在Vue框架中&…

PXE 高效批量网络装机

前提: 虚拟机恢复到初始化 调整网卡为vm1 关闭防火墙 安全linux systemctl stop firewalld vim /etc/selinux/config 配置IP地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33 重启网卡 systemctl restart network 挂载磁盘 安装yum源 安装服务 yum install vs…

DETR tensorRT 的 C++ 部署

DETR tensorRT 的 C 部署 本篇说说DETR tensorRT 的 C 部署。 【完整代码、模型、测试图片】 1 导出 onnx 模型(建议先看) 方法1:导出DETR onnx并修改模型输出Gather层,解决tesorrt 推理输出结果全为0问题,参考【D…

代码随想录算法训练营第17天 | 110.平衡二叉树 + 257. 二叉树的所有路径 + 404.左叶子之和

今日内容 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和 110.平衡二叉树 - Easy 题目链接:. - 力扣(LeetCode) 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为&#xff1…

【设计模式-03】Strategy策略模式及应用场景

一、简要描述 Java 官方文档 Overview (Java SE 18 & JDK 18)module indexhttps://docs.oracle.com/en/java/javase/18/docs/api/index.html Java中使用到的策略模式 Comparator、comparable Comparator (Java SE 18 & JDK 18)declaration: module: java.base, pa…

【生产者消费者模型的 Java 实现】

文章目录 前言传统派维新派 前言 题目:一个初始值为零的变量,多个线程对其交替操作,分别加1减1 实现步骤: 线程操作资源类判断,干活,通知防止虚假唤醒机制,即:多线程的判断需要用…

自旋框的使用

1. 自旋框 实例化 //实例化单精度自旋框QSpinBox* spinBox new QSpinBox(this);//实例化双精度自旋框QDoubleSpinBox* doubleSpinBox new QDoubleSpinBox(this);1.1 单精度自旋框 QSpinBox 1.1.1 单精度自旋框的基本函数 QSpinBox_QDoubleSpinBox Dialog.cpp #include "…

更快更稳的4K响应鼠标,小手玩家也能用,雷柏VT9PRO mini

雷柏今年推出了不少新品,特别是一系列支持4K回报率的鼠标,凭借敏捷的响应速度,获得了非常好的评价。不过之前雷柏出的4K鼠标都多适合中大手,对小手用户不友好,而且配色较少,都是黑白色的基础款,…

基于爬虫和Kettle的书籍信息采集与预处理

一:爬虫 1、爬取的目标 将读书网上的书籍的基本信息,比如:封面、书名、作者、出版社、价格、出版时间、内容简介、作者简介、书籍目录、ISBN和标签爬取出来,并将爬取的结果放入数据库中,方便存储。 2、网站结构 图1读…

HackTheBox - Medium - Linux - UpDown

UpDown UpDown 是一台中等难度的 Linux 机器,暴露了 SSH 和 Apache 服务器。在Apache服务器上,有一个Web应用程序,允许用户检查网页是否已启动。服务器上标识了一个名为“.git”的目录,可以下载以显示目标上运行的“dev”子域的源…

从事铁路工作保护足部,穿什么劳保鞋更安全

铁路运输在我国交通运输业中起着骨干作用,为国民经济的可持续发展和人口流动做出了巨大贡献。安全是铁路运输不可忽视的问题,在作业场地随处能见到“安全就是生命,责任重于泰山”的安全标语,由此可见安全问题是放在首位的。 铁路施…

❤ Vue3 完整项目太白搭建 Vue3+Pinia+Vant3/ElementPlus+typerscript(一)yarn 版本控制 ltb (太白)

❤ 项目搭建 一、项目信息 Vue3 完整项目搭建 Vue3PiniaVant3/ElementPlustyperscript&#xff08;一&#xff09;yarn 版本控制 项目地址&#xff1a; 二、项目搭建 &#xff08;1&#xff09;创建项目 yarn create vite <ProjectName> --template vueyarn install …

用我这套模板,几分钟做出文档网站!

大家好&#xff0c;我是保姆皮&#xff0c;最近我上线了自己的《编程宝典》网站&#xff0c;可以在线阅读我分享过的各种编程学习路线和知识干货。 指路&#xff1a;https://codefather.cn/ 不少小伙伴催我出教程&#xff0c;说也想做个类似的文档网站。 所以我用最快的速度出了…

挑选富集分析结果 enrichments

#2.2挑选term---selected_clusterenrichenrichmets[grepl(pattern "cilium|matrix|excular|BMP|inflamm|development|muscle|vaso|pulmonary|alveoli",x enrichmets$Description),]head(selected_clusterenrich) distinct(selected_clusterenrich)# remove duplica…

firewalld防火墙命令行工具

firewall-cmd命令 &#xff08;1&#xff09;启动、停止、查看firewalld服务 在安装CentOS 7系统时&#xff0c;会自动安装firewalld 和图形化工具firewall-config.执行以下命令可 以启动 firewalld 并设置为开机自启动状态。 [rootllcgc ~]# systemctl start firewalld.serv…

关于Python里xlwings库对Excel表格的操作(三十一)

这篇小笔记主要记录如何【如何使用“Chart类”、“Api类"和“Axes函数”设置绘图区外框线型、颜色、粗细及填充颜色】。前面的小笔记已整理成目录&#xff0c;可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 &#xff08;1&#xff09;如何安…

Unity中URP下实现能量罩(扭曲流光花纹)

文章目录 前言一、能量罩花纹1、在属性面板接收能量罩花纹纹理2、申明 纹理 和 采样器3、在顶点着色器,应用 Tilling 和 Offset4、在片元着色器,纹理采样后,与之前的结果相乘输出二、能量罩流光1、在顶点着色器,记录原uv值2、在片元着色器,使用 uv 的 y 值,乘以一个系数 …

Linux的DNS域名解析服务

一.DNS基础 1.1 DNS简介 DNS域名系统 &#xff08;Domain Name System 缩写为&#xff1a;DNS&#xff09;是因特网的一项核心服务&#xff0c;它作为可以将 域名 和 IP地址 相互映射的一个分布式数据库&#xff0c;能够使人更加方便的访问互联网&#xff0c;而不用去记住能够…

企业数据中台整体介绍及建设方案:文件全文51页,附下载

关键词&#xff1a;数据中台解决方案&#xff0c;数据治理&#xff0c;数据中台技术架构&#xff0c;数据中台建设内容&#xff0c;数据中台核心价值 一、什么是数据中台&#xff1f; 数据中台是指通过数据技术&#xff0c;对海量数据进行采集、计算、存储、加工&#xff0c;…

DNS域名解析以及操作流程

dns:将域名转化为IP地址的过程&#xff0c;域名方便人们记忆&#xff0c;ip地址过长&#xff0c;且都是数字&#xff0c;不方便记忆&#xff0c;所以才出现了域名。 怎么实现访问域名等于访问ip地址 1.老方法&#xff1a;写入文件里 /etc/hosts 左边 IP地址 右边域名 格式例…