分组匹配:

正则表达式分组:
如果想匹配3个数字,正则表达式可以用如下写法:

\d{3}

以上代码使用重复量词可以匹配3位数字。
但是在实际应用中,往往需要重复多个字符,例如我想重复ab两个字符,使用以下代码就不合适了,代码如下:

ab{3}

以上正则表达式只能够重复3次b。
为了实现重复多个字符可以使用小括号来指定子表达式或者说分组来实现此功能,例如:

(ab){3}

上面的正则就可以重复ab了。
所谓的分组就是使用小括号将一些项包括起来,使其成为独立的逻辑域,那么就可以像处理一个独立单元一样去处理小括号的内容。

下面看一段代码实例:

(\d{1,3}\.){3}\d{1,3}

上面是一个简单的ip匹配正则表达式。由小括号包裹的内容会被作为一个独立的逻辑域进行操作。
分组的作用:
在正则表达式中,分组具有举足轻重的作用,下面就简单对它的功能做一下简单的介绍。

       /*** 分组匹配* */@Testpublic void test6() {String regex = "(%)(.*?)(%)";//()表示分组String str = "%akhscgaijgs% %dgqydfwydf% %aswdd%";System.out.println(str.replaceAll(regex, "$2"));//$表示组,$2表示组2System.out.println(str.replaceAll(regex, "$1aaaa$3"));}@Testpublic void test7() {Pattern pattern = Pattern.compile("(%)(.*?)(%)");//模式对象//pattern是模式对象,此方法会将匹配到的东西遍历出来String str = "%akhscgaijgs% %dgqydfwydf% %aswdd%";Matcher m = pattern.matcher(str);int i = 0;while(m.find()) {//find为从匹配的对象里面去查找i++;System.out.println(m.group(1) + " aaa "+ m.group(3) + " startIndex"+m.start()+",endIndex:" + m.end());//此处为输入的为所替换的组号,,而将其他组号替换出来}}

【Java】正则表达式分组匹配相关推荐

  1. go 正则表达式分组匹配_Python正则表达式的7个使用典范(推荐)

    概述 作为一个概念而言,正则表达式对于Python来说并不是独有的.但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别. 将介绍Python中对字符串进行搜索和查找的一些方法,讨论如 ...

  2. java正则表达式所有字符串_“JAVA”正则表达式如何匹配所有符合要求的子字符串?...

    慕容708150 一.正则表达式基础知识1.1 句点符号    在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以"t"字母开头,以"n"字母结束.另 ...

  3. go 正则表达式分组匹配_go 正则表达式

    ------------------------------------------------------------ Golang中的正则表达式 ------------------------- ...

  4. java正则表达式 匹配()_学习Java正则表达式(匹配、替换、查找)

    import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...

  5. go 正则表达式分组匹配_Go语言正则表达式用法实例小结【查找、匹配、替换等】...

    本文实例讲述了Go语言正则表达式用法.分享给大家供大家参考,具体如下: Go语言的正则表达式使用很简单,示例代码: 复制代码 代码如下: package test import ( "fmt ...

  6. JAVA 正则表达式 分组

    几个原则: 分组的编号从1开始 遇到()加1 遇到断言跳过,如(?:exp)这种格式的,如果要算的话就,((?:exp)) PS:(pattern)这样就算一个分组 例子: "<a\\ ...

  7. java 正则表达式 分组(group)

    捕获组可以通过从左到右计算其开括号来编号,编号是从1 开始的.组零始终代表整个表达式. 形如(A)(B(C))的表达式,分组顺序如下 1 ((A)(B(C))) 2 (A) 3 (B(C)) 4 (C ...

  8. 10.java正则表达式URL匹配

    URL匹配 思路: 1.先验证url开始部分 https:// 或 http:// 2.通过((http|https)

  9. java正则表达式从后往前匹配_Java 正则表达式 向前、向后匹配

    //向后匹配 String a = "I paid $90 for 10 oranges, 12 pears and 8 apples. I saved $5 on "; Patt ...

  10. Java正则表达式功能及应用(上)

    正则表达式,就是用某种模式去匹配一类字符串的一个公式,正则表达式由一些普通字符和一些元字符(metacharacters)组成.普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,不管是.Net ...

最新文章

  1. RDTSC汇编指令详解
  2. 在C代码调用C++代码
  3. [Perl] Python 与 Perl 合并,打造史上最牛语言 Parrot
  4. Mac系统使用VS Code编译Bootstrap 4
  5. 从文件中读取并进行树的存储_数据库中的面试题你能接几招
  6. 支持pygame的python有哪些版本_完整构建文件支持PYGAME
  7. 中国人工智能学会通讯——后深度学习时代的人工智能
  8. mysql s授权所有用户_查看MYSQL数据库中所有用户及拥有权限
  9. python 3模块导入(import)问题一则
  10. JAVA发送邮件(163邮箱发送)
  11. 怎么使用quicktime
  12. 虚拟服务器忘记密码,win7系统下VMware虚拟机忘记开机密码的解决方法
  13. android模拟器+文件传输,夜神安卓模拟器怎么和电脑互传文件_夜神模拟器和电脑互传文件的教程-系统城...
  14. cc2530:<3>ADC采集光照度案例
  15. nvme装系统不能自引导_WinPE无法识别NVMe SSD硬盘,如何重装系统
  16. 如何构稳健的商品期cry组合
  17. 最有效防电脑辐射方法
  18. 呆呆带你手撸一个思维导图-基础篇
  19. C++ Standard Library Style Guidelines
  20. 饭局上我说“抽根华子”,领导说“你上香呢”,不懂5礼数受冷落

热门文章

  1. 2022年全球与中国一次性内窥镜市场现状及未来发展趋势
  2. mysql 查询父子关系_查询父子关系 · dotnetcore/FreeSql Wiki · GitHub
  3. excel怎么启用宏_Excel基础知识,VBA代码编辑器,4种方法进入表格编程世界
  4. 无法在未启用宏的工作薄
  5. Redis数据结构之list对象
  6. 移动硬盘计算机无图标,移动硬盘不显示盘符但右下角有显示USB图标解决方法
  7. 计算机软件专业硕士,软件工程硕士与计算机硕士区别
  8. svchost.exe病毒-任务栏怎么也关闭不掉的搜索框
  9. 计算机笔记本硬盘,笔记本取证之--笔记本硬盘拆卸
  10. 使用cntv(原cctvbox-中国网络电视台)下载视频