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

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

正则详细教程系列可以看此链接的文章哦

https://www.cnblogs.com/poloyy/category/1796055.html

 

分组和编号


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

 

分组和编号的规则

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

 

举栗子

image.png

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

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

 

不保存分组


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

 

不保存分组的好处

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

 

不保存分组的理解

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


image.png


保存分组的栗子


image.png


不保存分组的栗子


image.png


678 并不是分组,无法引用

 

括号嵌套


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

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


image.png


看右边的 Group 1 - 8

 

分组编号

image.png


分组引用


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

 

引用规则

反斜扛 + 编号: \number

 

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

image.png


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

 

分组引用在查找中使用


找到重复的单词

image.png


分组引用在替换中使用


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

image.png


扩展


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

image.png

相关文章
|
4月前
|
关系型数据库 MySQL
MySQL 保姆级教程(七):用正则表达式进行搜索
MySQL 保姆级教程(七):用正则表达式进行搜索
|
4月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
5月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 7
Perl教程讲解了其强大的正则表达式功能,用于字符串匹配、查找、替换和提取。示例展示如何使用`/s`删除变量`$string`中的重复字符,输出结果为原字符串。其他实例包括将非数字字符替换为空格,删除tab和空格,以及将数字间字符替换为单个空格。
47 3
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 6
**Perl正则表达式强大多能,常用于字符串匹配、替换和提取。转化操作符如`tr`用于字符转换,如将所有小写字母转大写:`$string =~ tr/a-z/A-Z/`。**
48 2
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 4
简洁概括:Perl正则表达式强大,s///操作符用于字符串替换,例子展示替换"google"为"baidu"。
39 1
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 1
Perl教程介绍了其强大的正则表达式功能,用于字符串匹配、替换和转化。匹配用m//(可简写为//),替换用s///,转化用tr///,常与=~或!~配合判断匹配与否。示例展示了m//在匹配字符串中的应用。
34 0
|
6月前
|
Windows Perl
Perl 教程 之 Perl 正则表达式 8
Perl的正则表达式是其强项,常用于字符串匹配、查找、替换等。基本操作包括:`.`匹配任意字符(除换行符),`x?`匹配0或1次`x`,`x*`匹配0或多次`x`,`x+`匹配1或多次`x`。还有范围匹配如`[0-9]`、否定匹配`[^a-z]`、边界匹配`\b`等。特殊序列如`\d`代表数字,`\s`代表空格,`()`用于记忆匹配内容,`/pattern/i`忽略大小写。
101 0
|
6月前
|
存储 算法 Shell
【Shell 命令集合 文档编辑】Linux 正则表达式匹配 egrep命令使用教程
【Shell 命令集合 文档编辑】Linux 正则表达式匹配 egrep命令使用教程
77 0
|
6月前
|
Ruby