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

正则表达式·记③

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

分组与编号

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

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

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

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

不保存子组

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

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

括号嵌套

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

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

命名分组

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

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

分组引用

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

posted @ 2022-03-16 22:59  DbWong_0918  阅读(180)  评论(0编辑  收藏  举报