python接口自动化之正则用例参数化详解

目录

前言

正则表达式语法

表示单字符

表示数量

匹配分组

表示边界

贪婪模式

re模块

re.findall()

re.search()

re.match()

re.sub()

用例参数化

总结

重点:配套学习资料和视频教学


前言

​ 我们在做接口自动化的时候,处理接口依赖的相关数据时,通常会使用正则表达式来进行提取相关的数据。

​ 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(Regular Expression,在代码中常简写为regex、regexp或RE) 。它是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。而Python 自1.5版本起增加了re模块,它提供 Perl 风格的正则表达式模式。

正则表达式语法

表示单字符

​ 单字符:即表示一个单独的字符,比如匹配数字用\d,匹配非数字用\D。

​ 除以下语法,也可以匹配指定的具体字符,可以是1个也可以是多个。

字符

功能说明

.

匹配任意1个字符(除了\n)

[2a]

匹配[]中括号中列举的字符,如这里就是匹配2或者a这两个字符其中的一个

\d

匹配数字,即0-9

\D

匹配非数字

\s

匹配空白,即空格、tab键(tab键为两个空格)

\S

匹配非空白

\w

匹配单词字符,即a-z、A-Z、0-9、_(数字、字母、下划线)

\W

匹配非单词字符

​ 实例如下,这里先说明一下findall(匹配规则,要匹配的字符串)这个方法是查找所有匹配的数据,以列表的形式返回,后面会在re模块进行详解:

python

import re


# .:匹配任意1个字符
re1 = r'.'
res1 = re.findall(re1, '\nj8?0\nbth\nihb')
print(res1)	# 运行结果:['j', '8', '?', '0', 'b', 't', 'h', 'i', 'h', 'b']

# []:匹配列举中的其中一个
re2 = r"[abc]"
res2 = re.findall(re2, '1iugfiSHOIFUOFGIDHFGFD2345a6a78b99cc')
print(res2)	# 运行结果:['a', 'a', 'b', 'c', 'c']

# \d:匹配一个数字
re3 = r"\d"
res3 = re.findall(re3, "dfghjkl32212dfghjk")
print(res3)	# 运行结果:['3', '2', '2', '1', '2']

# \D:匹配一个非数字
re4 = r"\D"
res4 = re.findall(re4, "d212dk?\n$%3;]a")
print(res4)	# 运行结果:['d', 'd', 'k', '?', '\n', '$', '%', ';', ']', 'a']

# \s:匹配一个空白键或tab键(tab键实际就是两个空白键)
re5 = r"\s"
res5 = re.findall(re5,"a s d a  9999")
print(res5)	# 运行结果:[' ', ' ', ' ', ' ', ' ']

# \S: 匹配非空白键
re6 = r"\S"
res6 = re.findall(re6, "a s d a  9999")
print(res6)	# 运行结果:['a', 's', 'd', 'a', '9', '9', '9', '9']

# \w:匹配一个单词字符(数字、字母、下划线)
re7 = r"\w"
res7 = re.findall(re7, "ce12sd@#a as_#$")
print(res7)	# 运行结果:['c', 'e', '1', '2', 's', 'd', 'a', 'a', 's', '_']

# \W:匹配一个非单词字符(不是数字、字母、下划线)
re8 = r"\W"
res8 = re.findall(re8, "ce12sd@#a as_#$")
print(res8)	# 运行结果:['@', '#', ' ', '#', '$']

# 匹配指定字符
re9 = r"python"
res9 = re.findall(re9, "cepy1thon12spython123@@python")
print(res9)	# 运行结果:['python', 'python&#
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值