Java 正则表达式重复匹配篇

重复匹配

  • * 可以匹配任意个字符,包括0个字符。
  • + 可以匹配至少一个字符。
  • ? 可以匹配0个或一个字符。
  • {n} 可以精确指定 n 个字符。
  • {n,m} 可以精确匹配 n-m 个字符。你可以是 0 。

匹配任意个字符

匹配 D 开头,后面是任意数字的字符,

复制代码
        String regexU1 = "D\\d*";
        System.out.println("DD".matches(regexU1));// false
        System.out.println("D1".matches(regexU1));// true
        System.out.println("D202".matches(regexU1));// true
        System.out.println("D88888888".matches(regexU1));// true

匹配至少一个字符

匹配 D 开头,后面至少是一位数字的字符,

复制代码
        String regexU2 = "D\\d+";
        System.out.println("D".matches(regexU2));// false
        System.out.println("D1".matches(regexU2));// true
        System.out.println("D202".matches(regexU2));// true
        System.out.println("D88888888".matches(regexU2));// true

匹配 0 个或一个字符

匹配 D 开头,后面是 0个或一个数字的字符,

复制代码
        String regexU3 = "D\\d?";
        System.out.println("D".matches(regexU3));// true
        System.out.println("D1".matches(regexU3));// true
        System.out.println("D22".matches(regexU3));// false
        System.out.println("D88888888".matches(regexU3));// false

匹配 n 个字符

匹配 D 开头,后面 3 个数字的字符,

复制代码
        String regexU4 = "D\\d{3}";
        System.out.println("D".matches(regexU4));// false
        System.out.println("D1".matches(regexU4));// false
        System.out.println("D22".matches(regexU4));// false
        System.out.println("D301".matches(regexU4));// true
        System.out.println("D3004".matches(regexU4));// false

匹配 n-m 个字符

匹配 D 开头,后面是 3-5 位数字的字符,

复制代码
        String regexU5 = "D\\d{3,5}";
        System.out.println("D".matches(regexU5));// false
        System.out.println("D1".matches(regexU5));// false
        System.out.println("D22".matches(regexU5));// false
        System.out.println("D333".matches(regexU5));// true
        System.out.println("D4000".matches(regexU5));// true
        System.out.println("D55555".matches(regexU5));// true
        System.out.println("D666666".matches(regexU5));// false
相关推荐
dengyuezhe80602 分钟前
《C++ 异常机制与智能指针:从原理到实现》
android·java·c++
于指尖飞舞2 分钟前
java后端面试题(常用集合极简)
java·开发语言·面试
我星期八休息14 分钟前
Linux系统编程—mmap文件映射
java·linux·运维·服务器·数据库·mysql·spring
phltxy20 分钟前
Spring AI 智能咨询系统综合实战
java·人工智能·spring
java1234_小锋23 分钟前
Spring Boot 中 Starter 是什么?它的核心规范有哪些?请说明如何自定义一个 Starter。
java·spring boot·后端
良枫23 分钟前
自进化 agent:核心模块一任务规划器 Planner
java·服务器·windows
AI人工智能+电脑小能手26 分钟前
【大白话说Java面试题 第114题】【并发篇】第14题:说一下悲观锁的优点和缺点?
java·开发语言·面试
让我上个超影吧30 分钟前
Claude Code 源码看 Agent 系统设计
java·ai·ai编程
plainGeekDev31 分钟前
网络状态监听 → ConnectivityManager + Flow
android·java·kotlin
devilnumber31 分钟前
Java 迭代器(Iterator)完全指南:从入门到实战
java·开发语言·迭代器