zoukankan      html  css  js  c++  java
  • 接口自动化框架(二)--正则表达式

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

    导入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":"太阳"}
    
    
  • 相关阅读:
    洛谷 P1414 又是毕业季II Label:None
    洛谷 P1372 又是毕业季I Label:None
    洛谷 P1111 修复公路 Label:并查集
    高精度特别策划 加减乘除余~~~
    洛谷 P1967 货车运输 Label: 倍增LCA && 最小瓶颈路
    数组指针和指针数组的区别
    堆和栈的区别
    JAVA8 十大新特性详解
    自己在菜单栏中加了一项打开文件的菜单后窗口不刷新 单击才刷新
    Windows 7 OpenGL配置
  • 原文地址:https://www.cnblogs.com/taiyangfeng/p/11967339.html
Copyright © 2011-2022 走看看