前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全网最易懂的正则表达式教程(6)- 分组

全网最易懂的正则表达式教程(6)- 分组

作者头像
小菠萝测试笔记
发布2020-07-03 10:17:37
2.3K0
发布2020-07-03 10:17:37
举报

分组和编号

  • ( ) 在正则中可以用于分组
  • 被括号起来的部分是子表达式,当做一个分组
  • 场景类比:小学算术,括号表示单独计算里面的内容 (1+1)*2
分组和编号的规则

第几个括号就是第几个分组

举栗子

(\d{4}-\d{2}-\d{2})(\d{2}:\d{2}:\d{2})

这个表达式由两个子表达式组成,第一个分组是日期,第二个分组是时间

不保存分组

  • 默认在 里面的表达式会保存成分组,但有些情况下,只想用括号将某些部分看成一个整体,临时使用,后续不再用

( )

  • 可以通过 不保存分组, (?:正则表达式)

?:

不保存分组的好处
  • 正则表达式中出现了括号,那么这个子表达式在后续可能会再次被引用
  • 不保存分组可以提高正则的性能
  • 分组变少了,在分组计数时也更不容易出错。
不保存分组的理解

那到底啥是不保存分组呢?可以理解成,括号只用于归组,把某些表达式当做一个单独的整体,不分配编号,后面不会再进行这部分的引用

保存分组的栗子

678 是分组一

不保存分组的栗子

678 并不是分组,无法引用

括号嵌套

括号嵌套 (( )) 这种情况肯定会出现,就好像小学算术 ((1+1)+(1+1)) 一样

直接看栗子,然后就知道括号嵌套情况下,分组编号的规则是什么了

看右边的 Group 1 - 8

分组编号

分组引用

知道分组编号后,我们会需要引用分组

引用规则

反斜扛 + 编号: \number

不同编程语言,有不同的引用方式

有印象即可,用到再来查一查~

分组引用在查找中使用

找到重复的单词

分组引用在替换中使用

可以通过分组引用替换文本内容

扩展

在 Python 中,sub 函数可用于正则的替换

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分组和编号
    • 分组和编号的规则
      • 举栗子
      • 不保存分组
        • 不保存分组的好处
          • 不保存分组的理解
          • 保存分组的栗子
          • 不保存分组的栗子
          • 括号嵌套
            • 分组编号
            • 分组引用
              • 引用规则
                • 不同编程语言,有不同的引用方式
                • 分组引用在查找中使用
                • 分组引用在替换中使用
                • 扩展
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档