Python正则表达式分组(part4)如何应用?

2026-06-10 22:171阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计817个文字,预计阅读时间需要4分钟。

Python正则表达式分组(part4)如何应用?

文章目录+ 正则表达式分组+ 定义+ 作用+ 捕获组+ 注意事项+ 正则表达式分组+ 定义+ 在正则表达式中,使用括号()可以创建分组,用于对特定模式进行匹配和引用。+ 作用+ 分组可以用于提取匹配文本、构建替换字符串或进行复杂的模式匹配。+ 捕获组+ 分组内部的模式可以捕获匹配的文本,以便后续使用。+ 注意事项+ 分组中的模式应该遵循正则表达式的语法规则。+ 正则表达式分组+ 定义+ 在正则表达式中,使用括号()创建分组,用于对特定模式进行匹配和引用。+ 作用+ 分组可以用于提取匹配文本、构建替换字符串或进行复杂的模式匹配。+ 捕获组+ 分组内部的模式可以捕获匹配的文本,以便后续使用。


文章目录

  • ​​正则表达式分组​​
  • ​​定义​​
  • ​​作用​​
  • ​​捕获组​​
  • ​​注意事项​​


正则表达式分组

定义

在正则表达式中,以()建立正则表达式的内部分组,子组是正则表达式的一部分,可以作为内部整体操作对象。

备注:当我们的正则表达式中存在子组时,就不能用findall(),则要用search().

作用

①可以被作为整体操作,改变元字符的操作对象

例子1(改变 +号 重复的对象)

In : re.search(r'(ab)+',"ababababab").group()
Out: 'ababababab'

备注:匹配到,就会返回被匹配的内容;匹配不到,则会报错。

例子2(改变 |号 操作对象)

In : re.search(r'(王|李)\w{1,3}',"王者荣耀").group()
Out: '王者荣耀'

备注:如果不加​​​​​小括号,将匹配​​​​​或​​​​​.若加小括号则​​​​​会作为一个内部整体,将匹配​​​​​或​​​​

②可以通过编程语言某些接口,获取匹配内容中,子组对应的内容部分

备注:子组发挥作用的前提是,整个正则表达式能够匹配到东西。

例子1

In:re.search(r'(\S+',"www.baidu.com").group(1)
Out: 'https'

捕获组

可以给正则表达式的子组起一个名字,表达该子组的意义。这种有名称的子组即为捕获组。

格式:(?P<名字>正则表达式)

例子1

In : re.search(r'(?P<pig>ab)+',"ababababab").group('pig')
Out: 'ab'

例子2

In: re.search(r'(?P<FirstName>王|李)\w{1,3}',"王者荣耀").group("FirstName")
Out: '王'

注意事项

①一个正则表达式中可以包含多个子组
②子组可以嵌套,但是不要重叠或者嵌套结构复杂
③子组序列号一般从外到内,从左到右计数

Python正则表达式分组(part4)如何应用?

本文共计817个文字,预计阅读时间需要4分钟。

Python正则表达式分组(part4)如何应用?

文章目录+ 正则表达式分组+ 定义+ 作用+ 捕获组+ 注意事项+ 正则表达式分组+ 定义+ 在正则表达式中,使用括号()可以创建分组,用于对特定模式进行匹配和引用。+ 作用+ 分组可以用于提取匹配文本、构建替换字符串或进行复杂的模式匹配。+ 捕获组+ 分组内部的模式可以捕获匹配的文本,以便后续使用。+ 注意事项+ 分组中的模式应该遵循正则表达式的语法规则。+ 正则表达式分组+ 定义+ 在正则表达式中,使用括号()创建分组,用于对特定模式进行匹配和引用。+ 作用+ 分组可以用于提取匹配文本、构建替换字符串或进行复杂的模式匹配。+ 捕获组+ 分组内部的模式可以捕获匹配的文本,以便后续使用。


文章目录

  • ​​正则表达式分组​​
  • ​​定义​​
  • ​​作用​​
  • ​​捕获组​​
  • ​​注意事项​​


正则表达式分组

定义

在正则表达式中,以()建立正则表达式的内部分组,子组是正则表达式的一部分,可以作为内部整体操作对象。

备注:当我们的正则表达式中存在子组时,就不能用findall(),则要用search().

作用

①可以被作为整体操作,改变元字符的操作对象

例子1(改变 +号 重复的对象)

In : re.search(r'(ab)+',"ababababab").group()
Out: 'ababababab'

备注:匹配到,就会返回被匹配的内容;匹配不到,则会报错。

例子2(改变 |号 操作对象)

In : re.search(r'(王|李)\w{1,3}',"王者荣耀").group()
Out: '王者荣耀'

备注:如果不加​​​​​小括号,将匹配​​​​​或​​​​​.若加小括号则​​​​​会作为一个内部整体,将匹配​​​​​或​​​​

②可以通过编程语言某些接口,获取匹配内容中,子组对应的内容部分

备注:子组发挥作用的前提是,整个正则表达式能够匹配到东西。

例子1

In:re.search(r'(\S+',"www.baidu.com").group(1)
Out: 'https'

捕获组

可以给正则表达式的子组起一个名字,表达该子组的意义。这种有名称的子组即为捕获组。

格式:(?P<名字>正则表达式)

例子1

In : re.search(r'(?P<pig>ab)+',"ababababab").group('pig')
Out: 'ab'

例子2

In: re.search(r'(?P<FirstName>王|李)\w{1,3}',"王者荣耀").group("FirstName")
Out: '王'

注意事项

①一个正则表达式中可以包含多个子组
②子组可以嵌套,但是不要重叠或者嵌套结构复杂
③子组序列号一般从外到内,从左到右计数

Python正则表达式分组(part4)如何应用?