千家信息网

正则表达式Matcher类中group方法的示例分析

发表于:2024-10-18 作者:千家信息网编辑
千家信息网最后更新 2024年10月18日,这篇文章将为大家详细讲解有关正则表达式Matcher类中group方法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。0|1Pattern 和 Matche
千家信息网最后更新 2024年10月18日正则表达式Matcher类中group方法的示例分析

这篇文章将为大家详细讲解有关正则表达式Matcher类中group方法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

0|1Pattern 和 Matcher

在java.util.regex 包下

  1. Pattern(模式类) : 用来表达和陈述所要搜索模式的对象。Pattern.compile(pattern) pattern 也就是你写的正则表达式

  2. Matcher(匹配器类):真正影响搜索的对象。上面Pattern.compile(pattern)得到一个Pattern对象 为 r。 r.matcher(line) line也即是你需要进行匹配的字符串 。这样会得到一个 Matcher 的对象。

  3. PatternSyntaxException: 当遇到不合法的搜索模式时,会抛出例外。

0|1正则表达式语法

在有的语言中,一个反斜杠 \ 就足以具有转义的作用,但是Java中需要两个 \\ 反斜杠。表示转义的作用。一些字符在正则表达式中的说明,意义。详情可查看runoob

0|1上代码

现在我的正则表达式为 (//d+)([a-z]+)(//d+)

  1. //d+ 表示最少匹配一个数字

  2. [a-z]+ 表示最少匹配一个字符

  3. 需要指定的字符串为 "123ra9040 123123aj234 adf12322ad 222jsk22"

  4. 代码如下 :

public static void main( String args[] ){    // 按指定模式在字符串查找    String line = "123ra9040 123123aj234 adf12322ad 222jsk22";    String pattern = "(\\d+)([a-z]+)(\\d+)";//    String pattern1 = "([\\u4E00-\\u9FA5]+|\\w+)";    // 创建 Pattern 对象    Pattern r = Pattern.compile(pattern);    // 现在创建 matcher 对象    Matcher m = r.matcher(line);    int i = 0;    // m.find 是否找到正则表达式中符合条件的字符串    while (m.find( )) {      // 拿到上面匹配到的数据      System.out.println("----i="+i);      System.out.println("Found value: " + m.group(0) );      System.out.println("Found value: " + m.group(1) );      System.out.println("Found value: " + m.group(2) );      System.out.println("Found value: " + m.group(3) );      i++;      System.out.println("|||||||");      System.out.println("");    }  }

输出:

----i=0
Found value: 123ra9040
Found value: 123
Found value: ra
Found value: 9040
|||||||
----i=1
Found value: 123123aj234
Found value: 123123
Found value: aj
Found value: 234
|||||||
----i=2
Found value: 222jsk22
Found value: 222
Found value: jsk
Found value: 22
|||||||

group(0) 对应着 ((//d+)([a-z]+)(//d+)) 123ra9040

group(2) 输出的数据 是 group(0)中所匹配的数据 也就是([a-z]+) 匹配到是数据 ra

group(3) 输出的数据 是 group(0)中所匹配的数据 也就是(//d+) 匹配到是数据 9040

0|1总结

Matcher 类中group(0) 表示正则表达式中符合条件的字符串。

Matcher 类中 group(1) 表示正则表达式中符合条件的字符串中的第一个() 中的字符串。

Matcher 类中 group(2) 表示正则表达式中符合条件的字符串中的第二个() 中的字符串。

Matcher 类中 group(3) 表示正则表达式中符合条件的字符串中的第三个() 中的字符串。

关于"正则表达式Matcher类中group方法的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

字符 正则 表达式 字符串 数据 对象 条件 模式 也就是 篇文章 搜索 输出 方法 示例 分析 作用 斜杠 更多 转义 不错 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南linux软件开发制作 阿里巴巴算科技企业还是互联网 三国志战略版二赛季服务器 淘宝开多个店铺需要云服务器 数据库工程师可以直接报吗 公安网络安全保卫大队是干什么的 抖音苹果手机充值抖币服务器异常 广东省网络安全工作考核指标 怎么转到其他数据库 软件开发的成本很难控制 蓬莱市网络安全防护 策略期货软件开发 c 开发一个web服务器 数据库原理与技术知识点总结 计算机与控制网络技术试题 江苏hpe服务器虚拟主机 软件开发遇到资金问题怎么办 ctf网络安全大赛用的软件 玉林网络安全支队支队长 上海网络技术代理品牌 软件开发成本估算 教育软件开发的难点 上海品牌网络技术怎么样 我的世界星际方块服务器技巧 forest搬迁大陆服务器 网络技术发展的三条主线 国家网络安全 主持词 安徽芜湖微远网络技术有限公司 浦东新区自主可控网络技术优势 网络安全适度安全
0