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
相关推荐
UserNamezhangxi25 分钟前
kotlin 协程笔记
java·笔记·kotlin·协程
咖啡里的茶i35 分钟前
数字化图书管理系统设计实践(java)
java·课程设计
九转苍翎1 小时前
Java内功修炼(2)——线程安全三剑客:synchronized、volatile与wait/notify
java·thread
曲莫终1 小时前
正则表达式删除注释和多余换航
java·kotlin
whitepure1 小时前
万字详解JavaObject类方法
java·后端
Momentary_SixthSense2 小时前
RESP协议
java·开发语言·javascript·redis·后端·python·mysql
程序员清风2 小时前
程序员兼职月入20K+?这6种路径+平台避坑又赚钱!
java·后端·面试
爱由芯生2 小时前
JFinal加密你值得学习
java
MacroZheng2 小时前
横空出世!一款开源的数据同步工具,稳定又高效,好用到爆!
java·后端·mysql
你想考研啊2 小时前
部署tomcat应用时注意事项
java·tomcat