码迷,mamicode.com
首页 > 其他好文 > 详细

正则 : 分组与引用

时间:2020-07-06 01:26:59      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:分组   表达式   正则表达   格式   表达   png   表示   名称   正则   

在正则中,当多个元字符组成的某个部分,需要被当作一个整体处理的时候,可以用()将其括起来,此时括号中的表达式被保存为一个子组;
通过分组编号还可以引用分组中的表达式进行查找和替换;

1. 分组与编号

  括号在正则中用于分组,被括号括起来的部分会被保存为一个子组;
  简单来讲,第几个左括号就是第几个分组,括号嵌套的情况也是这么计算,分组编号从1 开始计数;

  (aaa)(bbb)
  aaa就是第一个分组,bbb就是第二个分组

2. 不保存子组

  有时候不需要将括号内的子组保存,此时可以在括号内前面添加  ?: 表示不保存该子组;
  (?: 表达式)
  不需要保存子组时,就可以使用这种方式,还可以提高匹配效率;
  (aaa)(?:bbb)
  此时没有保存分组,也不能被引用
技术图片

3. 分组引用

  括号对表达式分组后,可以通过 ”反斜杠 + 编号“ 来引用分组;
  (Cat)\1
  \1 表示引用第一个分组(Cat)

  通过引用分组进行替换
技术图片

4. 分组命名

  有时候,表达式可能后续要进行修改,如果通过分组编号引用子组,则分组发生变化时也要调整对应的编号,此时可以通过给分组命名,引用指定名称的分组;
  格式为 (?P<分组名称> 正则表达式)

正则 : 分组与引用

标签:分组   表达式   正则表达   格式   表达   png   表示   名称   正则   

原文地址:https://www.cnblogs.com/virgosnail/p/13252493.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!