前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试|带你了解Python正则表达式模块(二)

软件测试|带你了解Python正则表达式模块(二)

原创
作者头像
霍格沃兹测试开发Muller老师
发布2023-02-24 12:46:57
3040
发布2023-02-24 12:46:57
举报
文章被收录于专栏:muller的测试分享

前言

上篇文章我们讲解了Python re模块的简单使用,本篇文章我们将讲解re模块更高级的用法。

正则表达式量词符号与组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

组的概念

符号

描述

()

在匹配规则中获取指定数据

贪婪与非贪婪

匹配分为贪婪匹配与非贪婪匹配

  • 0次或多次属于贪婪模式
  • 通过?组合变成非贪婪模式

正则表达式-re模块的函数

  1. findall() 查找字符串中所有(非重复)出现的正则表达式模式,并返回一个匹配列表 语法示例:findall(pattern, string [,flags])示例如下:import re sentence = 'hello muller, where are you from' print(re.findall('from\Z', sentence)) print(re.findall('ffrom\Z', sentence)) -------------------------------- 输出结果如下: ['from'] []search(pattern, string, flags=0)示例如下:import re sectence = 'i like play football' result = re.search('(.*) (.*?) (.*)',sectence) if result: print('result.group() :',result.group()) print('result.group() :',result.group(1)) print('result.group() :',result.group(2)) print('result.group() :',result.group(3)) else: print('no match!') ------------------------------------------ 输出结果如下; result.group() : i like play football result.group() : i like result.group() : play result.group() : football
  2. search() 使用可选标记搜索字符串中第一次岀现的正则表达式模式。如果匹配成功,则返回匹配对象;如果失败,则返回None 语法示例:
  3. group()与groups()
  4. group(num)返回整个匹配对象,或者编号为num的特定子组
  5. groups():返回一个包含所有匹配子组的元组(如果没有成功匹配,则返回一个空元组)

代码示例如下:

代码语言:python
代码运行次数:0
复制
import re

sectence = 'hello messi, i am muller'
result = re.search('hello (.*), i am (.*)', sectence)
print(result.groups())
print(result.group(1))
print(result.group(2))
-----------------------
输出结果如下:
('messi', 'muller')
messi
muller
  1. split()正则替换 根据正则表达式的模式分隔符,split函数将字符串分割为列表,然后返回成功匹配的列表,分隔最多操作max次(默认分割所有匹配成功的位置) 语法如下:split(pattern, string, max=0)示例如下:import re s = "Long live the PRC" result1 = re.split("\s", s) print(result1) result2 = re.split("\s", s, 3) # 通过指定 maxsplit 参数来控制出现次数 print(result2) result3 = re.split("USA", s) print(result3) --------------------------------- 输出结果如下: ['Long', 'live', 'the', 'PRC'] ['Long', 'live', 'the', 'PRC'] ['Long live the PRC']
  2. match() 使用带有可选的标记的正则表达式的模式来匹配字符串。如果匹配成功,就返回匹配对象;如果失败,就返回None 语法如下:match(pattern, string, flags=0)示例如下:import re data = 'hello world' result = re.match('hello', data) print(result.group()) ------------------ 输出结果如下: hello

总结

本文介绍了re模块的几个常用函数,对Python内置的re模块的介绍就到这里了,后续我们将介绍其他模块的内容,敬请期待哈!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 正则表达式量词符号与组
      • 组的概念
        • 贪婪与非贪婪
          • 正则表达式-re模块的函数
            • 总结
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档