Java正则表达式Pattern及Matcher常用方法

一、Matcher.lookingAt()是Java正则表达式工具包中用于部分匹配的方法,其特点如下:

‌匹配规则‌
仅检查目标字符串的起始部分是否与正则表达式匹配,不要求匹配整个字符串。

‌返回值‌
返回boolean类型:匹配成功返回true,否则返回false。

‌与其他方法的对比‌

matches():要求整个字符串完全匹配正则表达式。
find():在字符串任意位置查找匹配项。
lookingAt():仅检查字符串前缀是否匹配。
‌典型应用场景‌

boolean result = matcher.lookingAt();

适用于验证字符串是否以特定模式开头,例如检查URL协议或文件路径前缀。
(注:需先通过Pattern.matcher()创建Matcher对象加粗样式

二、matcher.group()是Java正则表达式工具中用于获取匹配结果的核心方法,主要功能如下:

‌基础功能‌

group():返回整个正则表达式匹配的完整字符串。
group(int group):返回指定捕获组匹配的子串,组号从1开始(group(0)等价于group())
‌捕获组规则‌

正则表达式中的()定义捕获组,例如"(\d+)([a-z]+)"包含两个组。
groupCount()可获取总捕获组数量(不包含group(0)。
‌使用示例‌
提取字符串中的字母和数字组合:

Matcher m = Pattern.compile("([a-z]+)(\\d+)").matcher("java123");
if (m.find()) {
    System.out.println(m.group(0));  // 输出 "java123"
    System.out.println(m.group(1));  // 输出 "java"
    System.out.println(m.group(2));  // 输出 "123"
}

注:需先调用find()或matches()进行匹配)

三、matcher.group()是Java正则表达式匹配后提取结果的核心方法,其使用要点如下:

‌基础用法‌

group()或group(0):返回整个正则表达式匹配的完整字符串。
group(n):返回第n个捕获组匹配的子串(组号从1开始
‌捕获组规则‌

正则表达式中的()定义捕获组,例如"(\d+)([a-z]+)"包含两个组
groupCount()可获取总捕获组数量(不含group(0))
‌典型代码流程‌
提取时间字符串中的时分信息:

String str = "时间段:12:00-00:00";
Pattern pattern = Pattern.compile("(\\d{2}):(\\d{2})-(\\d{2}):(\\d{2})");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
    System.out.println(matcher.group(1));  // 输出第一个小时"12"
    System.out.println(matcher.group(3));  // 输出第二个小时"00"
}

‌注意事项‌

未匹配成功时调用会抛出IllegalStateException
组号超出范围会抛出IndexOutOfBoundsException

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值