Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
  • Java语法

    • String
    • 面向对象
    • 反射
    • 泛型
    • 序列化
    • 动态代理
    • IO
    • 回调
    • SPI
    • 异常
    • 注解
  • Java容器

  • Java新特性

  • IDEA常用快捷键
  • 正则表达式
    • 基本用法
    • 复杂匹配
      • 开头结尾
      • 限定范围匹配
    • 搜索与替换
      • 分割字符串
  • API
  • 场景题

  • JavaSE
Nreal
2023-12-27
目录

正则表达式

# 基本用法

案例:

  1. "123".matches("\\d*") //true

    "a12".matches("\\w+") // true

    "a12".matches("\\w?12")//true

  2. "12".matches("\\d{2}")//true

    "12".matches("\\d{3}")//false

  3. "a12".matches("\\w{1,3}")//true

    "a123".matches("\\w{1,3}")//false

# 复杂匹配

# 开头结尾

^表示匹配字符串的开头,$表示匹配字符串的结尾;

只匹配完全符合要求的字符串,而不是匹配字符串中的某个子串;

案例:

  1. 匹配一个字符串是否以数字开头;

    String regex = "^\\d.*";
    
    1

    .*表示匹配任意数量的字符;

  2. 匹配一个字符串是否以字母结尾;

    String regex = ".*[a-zA-Z]$";
    
    1

    [a-zA-Z]表示匹配一个字母字符;

# 限定范围匹配

当我们使用 \d 来作匹配时, 匹配结果是0到9,而我只想要3到5咋办?

案例:

// 直接将匹配项写在中括号中
System.out.println("a34".matches("[abc][345][345]")); // true
// 使用-表示 多少 到 多少
System.out.println("a34".matches("[a-c][3-5][3-5]")); // true
// 可以与重复匹配符搭配使用
System.out.println("a34".matches("[a-c][3-5]+"));     // true
1
2
3
4
5
6

^表示排除:

System.out.println("a34".matches("[^ac]34")); // false
System.out.println("z34".matches("[^ac]34")); // true
1
2

# 搜索与替换

# 分割字符串

"a b c".split("\\s"); // { "a", "b", "c" }
"a b  c".split("[\\s]+"); // { "a", "b", "c" }
"a, b ;; c".split("[\\,\\;\\s]+"); // { "a", "b", "c" }
1
2
3
IDEA常用快捷键
API

← IDEA常用快捷键 API→

Theme by Vdoing | Copyright © 2021-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式