边儿上的小人您要嫌碍事儿,可将鼠标放在上头,边上底下有个叉,点一下就收起来了

【笔记】正则表达式·记③--分组与引用

正则表达式·记③

括号在正则中的功能就是用于分组。简单来理解就是,由多个元字符组成某个部分,应该被看成一个整体的时候,可以用括号括起来表示一个整体

分组与编号

括号在正则中可以用于分组,被括号括起来的部分“子表达式”会被保存成一个子组,简单来说,第几个括号就是第几个分组

比如,想要取一个2022-03-15 22:46:00,则可以写成

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

这就有了两个分组,其中,第一个括号的分组编号就是1,第二个括号的分组编号就是2

不保存子组

如果正则中出现了括号,那么我们就觉得,这个子表达式在后续可能会再次被引用,那么,只想用括号将某些部分看成一个整体,后续不用再用它的话,应该怎么办呢?这时我们可以在括号里面使用 ?: 不保存子组

简单来说,不保存分组就是只执行分组的操作,把这一部分作为一个整体的元素,而不进行编号,后面就不会再使用这部分的引用,可以提高正则表达式的性能

括号嵌套

在括号嵌套的情况里,我们要看某个括号里面的内容是第几个分组怎么办?

简单来说,我们只需要数左括号(开括号)是第几个,就可以确定是第几个子组,也就是从左往右数,当前左括号是第几个左括号,就是第几组

命名分组

命名分组的格式为(?P<分组名>正则)

可以使用名称,不用编号,实际上命名分组的编号已经分配好了

分组引用

绝大多数的语言,我们就可以使用 “反斜扛 + 编号”,即 \number 的方式来进行引用,而 JavaScript 中替换是通过$编号来引用,查找是\,需要的时候查文档

posted @   DbWong_0918  阅读(192)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示