接口自动化框架(二)--正则表达式

 

# 正则表达式
# 是一个查找、搜索、替换文本的一种格式语言。

导入re
import re

 

# 1、创建原始字符串(待替换的字符串)
src_str = '{"mobilephone":"${not_existed_tel}","pwd":"123456","regname":"太阳"}'

 

# 2、定义模式字符串去进行匹配
# 模式字符串 == 模子
# match方法
# match方法是从头开始匹配的,如果匹配不上,那么返回None
res = re.match("{not_existed_tel}",src_str)
print(res)
res = re.match(r'{"mobilephone"',src_str)
# 获取匹配的结果
print(res.group())

 

 运行结果:

None
{"mobilephone"

 

# search方法
# 如果能匹配上会返回一个match对象
# 匹配不上会返回 None
# $ 具有特殊含义,所以需要进行\$ 转义
# search方法只查一次,一旦找到,就不会再继续查找
res1 = re.search(r"\${not_existed_tel}",src_str)
print(res1.group())

 运行结果:

${not_existed_tel}

 

# findall方法——会匹配很多次
# 匹配 o 字母
# 返回结果为列表
res2 = re.findall(r"o",src_str)
print(res2)

运行结果:

['o', 'o', 'o']

 

# 替换sub方法
# 第一个参数为模式字符串,第二个参数为新的字符串,第三个参数为原始字符串
# 如果能匹配上,那么返回匹配之后的字符串
# 如果匹配不上,那么返回原始字符串
res3 = re.sub(r"\${not_existed_tel}","18978967865",src_str)
print(res3)

运行结果:

{"mobilephone":"18978967865","pwd":"123456","regname":"太阳"}

 

if re.search(r"\${not_existed_tel}",src_str):
    res4 = re.sub(r"\${not_existed_tel}","18978967865",src_str)
    print(res4)
else:
    print("无法匹配原始字符串")

运行结果:

{"mobilephone":"18978967865","pwd":"123456","regname":"太阳"}

 


posted @ 2019-12-01 19:55  太阳-向日葵  阅读(103)  评论(0编辑  收藏  举报