Java正则表达式----Pattern和Matcher

本文详细介绍了Java中的Pattern和Matcher类,讲解了CASE_INSENSITIVE、MULTILINE等修饰符的用法,以及如何使用compile和matcher方法。通过实例展示了matches、find、group等方法在处理字符串匹配中的应用,并提到了StringBuilder在替换操作中的作用。同时,文章还提及了Java字符串的matches、replaceAll和replaceFirst等内置方法,以及split函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pattern

  • 修饰符
  • CASE_INSENSITIVE
    忽略大小写
  • MULTILINE
    多行模式
  • DOTALL
    dotAll 模式
  • UNICODE_CASE
    unicode模式
  • compile(regex)
    使用正则构建 Pattern对象
  • compile(regex, flags)
    flags : 设置修饰符,多个修饰符用 | 分割
  • matcher(str)
    返回Matcher对象

Matcher

  • matches()
    返回是否匹配、适用于匹配一次的判断
    find()
  • 是否有找到匹配的元素、常用于 while 循环、可匹配字符串多个元素
  • group() / group(0)
    获取正则表达式匹配的内容
  • group(n)
    获取第 n 个正则子表达式匹配的内容
  • start() / end()
    获取匹配内容的 起始/结束 索引
  • appendReplacement(StringBuilder, replacement)
    追加替换后的内容到 StringBuilder容器中
  • appendTail(StringBuilder)
    将字符串尾部内容追加到 StringBuilder容器中
    PS:
    JDK9 支持 StringBuilder 低版本传入 StringBuffer,可用于处理字符串模板、例如SQL替换
	Pattern p = Pattern.compile("cat");
	Matcher m = p.matcher("one cat two cats in the yard");
	StringBuilder sb = new StringBuilder();
	while (m.find()) {
       m.appendReplacement(sb,  “dog”);
	 }
	m.appendTail(sb);

字符串支持正则的方法

  • matches(regex)
  • replaceAll(regex, replacement)
  • replaceFirst(regex, replacement)
  • split(regex, limit=0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值