全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

python 自动化数据提取之正则表达式

目录
  • 前 言
  • 正 则 表 达 式 语 法
    • 表示单字符
    • 表示数量
    • 表示边界
    • 匹配分组
    • 贪婪模式
  • r e 模 块 的 使 用
    • No.1 re.match函数
    • No.2 re.search 方法
    • No.3 findall 方法
    • No.4 sub 方法
  • 案 例 演 示

    前 言

    我们在做接口自动化的时候,处理接口依赖的相关数据时,通常会使用正则表达式来进行提取相关的数据,今天在这边和大家聊聊如何在python中使用正则表达式。

    正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。

    正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。按某种规则匹配的表达式被称之为正则表达式,在python使用正则表达式,可以使用官方库re来实现,学习re模块之前,我们先来了解一下正则表达式的基本语法。

    正 则 表 达 式 语 法

    表示单字符

    单字符:即表示一个单独的字符,比如匹配数字用\d ,匹配非数字使用\D,具体规则如下:

    表示数量

    如果要匹配某个字符多次,就可以在字符后面加上数量进行表示,具体规则如下:

    表示边界

    匹配分组

    贪婪模式

    贪婪模式:Python里数量词默认是贪婪的,总是尝试匹配尽可能多的字符;

    如下案例:有一个字符串s,我们需要在字符串中匹配3个以上的数字,字符串中数字有8个,贪婪模式会尽可能匹配更多字符,3个以上,8个也是3个以上,那么这里匹配的结果就是8个数字。

    非贪婪模式:总是尝试匹配尽可能少的字符,在"*“,”?“,”+“,”",后面加上?,可以关闭贪婪模式

    关闭贪婪模式之后,尽可能获取更少的,如下,只获取到最前面的3个数值(至少3个,非贪婪就是最前面的3个)

    r e 模 块 的 使 用

    在python中使用正则表达式,需要用到re模块来进行操作,这边给大家介绍几个re模块中常用的方法。

    No.1 re.match函数

    参数说明:接收两个参数,

    第一个是匹配的规则,

    第二个是匹配的目标字符串,

    re.match尝试从字符串的起始位置匹配一个模式,匹配成功 返回的是一个匹配对象(这个对象包含了我们匹配的信息),如果不是起始位置匹配成功的话,match()返回的就是空。

    No.2 re.search 方法

    参数说明:接收两个参数,

    第一个是匹配的规则,

    第二个是匹配的目标字符串,

    re.search 扫描整个字符串并返回第一个成功的匹配。

    re.match与re.search的区别
    re.match从字符串的开始位置进行匹配,如果字符串开始不符合正则表达式,则匹配失败,函数返回空;

    而re.search匹配整个字符串,直到找到一个匹配成功的则进行返回,如果整个字符串中都没有找到匹配成功的,则返回空。

    No.3 findall 方法

    参数说明:接收两个参数,

    第一个是匹配的规则,

    第二个是匹配的目标字符串,

    在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

    注意:match 和 search 是匹配一个结果, findall 匹配处所有符合规则的结果。

    No.4 sub 方法

    替换字符串中的某些字符,可以用正则表达式来匹配被选子串。

    re.sub(pattern, repl, string, count=0 )
    

    参数:

    pattern:匹配的规则;

    repl:匹配之后替换的新内容;

    string:需要按规则替换的字符串;

    count:替换的次数,可以不传参,默认替换所有符合规则的。

    案 例 演 示

    需求:整个正则表达式提取如下接口登录之后返回的token值。

    接口地址:http://47.112.233.130/users/login/
    请求参数:
    返回结果:

    {'refresh': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTY1Mzk4MzMyNSwiaWF0IjoxNjUzODk2OTI1LCJqdGkiOiI2NTE2MTE0OGFhMDY0NWNjYWY2ZWE4YmYzYzY1YjE1ZSIsInVzZXJfaWQiOjJ9.fMkJfOdhczbr1MqvYE5b0qYlC5GewBlFZbrteMOLUv0', 'token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjUzOTgzMzI1LCJpYXQiOjE2NTM4OTY5MjUsImp0aSI6ImQ3Nzg1ZjY0YTk2YzQwYzliZDcwMmUxMDgzNjVkNWU5IiwidXNlcl9pZCI6Mn0.UNmLRQsXnZBltgL7QQVuBON2UEBQav87NSGy5Iqbnws'}
    

    实现代码

    import requests
    import re
    # 登录接口
    login_url = 'http://47.112.233.130:8888/users/login/'
    
    
    # 请求登录接口,进行登录
    params = {
        "username": "test",
        "password": "123456"
    }
    response = requests.post(url=login_url, json=params)
    #使用正则表达式提取token
    result = re.search(r'token":"(.+?)"',response.text)
    token = result.group(1)
    


    # python  数据提取正则表达式  # python  数据提取正则  # python中如何使用正则表达式提取数据  # 正则表达式  # 第一个  # 第二个  # 最前面  # 的是  # 几个  # 可以用  # 给大家  # 如果没有  # 如果不是  # 可以使用  # 英语  # 不符合  # 没有找到  # 来实现  # 中都  # 先来  # 通常会  # 更少  # 就可以 


    相关文章: 打鱼网站制作软件,波克捕鱼官方号怎么注册?  如何在Ubuntu系统下快速搭建WordPress个人网站?  建站主机是什么?如何选择适合的建站主机?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  韩国服务器如何优化跨境访问实现高效连接?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  网站制作软件有哪些,制图软件有哪些?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  大连 网站制作,大连天途有线官网?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  如何零成本快速生成个人自助网站?  教学论文网站制作软件有哪些,写论文用什么软件 ?  如何实现建站之星域名转发设置?  ,如何利用word制作宣传手册?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  音响网站制作视频教程,隆霸音响官方网站?  建站之星CMS五站合一模板配置与SEO优化指南  如何制作网站标识牌,动态网站如何制作(教程)?  如何在自有机房高效搭建专业网站?  如何快速打造个性化非模板自助建站?  如何通过虚拟主机快速搭建个人网站?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  如何获取开源自助建站系统免费下载链接?  如何用wdcp快速搭建高效网站?  如何用IIS7快速搭建并优化网站站点?  长沙做网站要多少钱,长沙国安网络怎么样?  成都网站制作报价公司,成都工业用气开户费用?  建站主机解析:虚拟主机配置与服务器选择指南  外贸公司网站制作,外贸网站建设一般有哪些步骤?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  怀化网站制作公司,怀化新生儿上户网上办理流程?  建站之星ASP如何实现CMS高效搭建与安全管理?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  香港服务器租用每月最低只需15元?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  SQL查询语句优化的实用方法总结  建站主机类型有哪些?如何正确选型  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  如何快速查询网站的真实建站时间?  python的本地网站制作,如何创建本地站点?  上海网站制作开发公司,上海买房比较好的网站有哪些?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何用搬瓦工VPS快速搭建个人网站?  建站主机如何安装配置?新手必看操作指南  建站之星如何通过成品分离优化网站效率? 

    您的项目需求

    *请认真填写需求信息,我们会在24小时内与您取得联系。