正则表达式-万能表达式

news/2025/4/1 6:18:36/

1、正则
正则表达式是一组由字母和符号组成的特殊文本, 它可以用来从文本中找
出满足你想要的格式的句子.
{“basketId”: 0, “count”: 1, “prodId”: #prodId#, “shopId”: 1,
“skuId”: #skuId#} === #prodId#

re相关的文章: https://www.cnblogs.com/Simple-Small/p/9150947.html
regular表达式学习手册:
https://tool.oschina.net/uploads/apidocs/jquery/regexp.html(规则)
https://gitee.com/thinkyoung/learn_regex
在线的正则验证:https://c.runoob.com/front-end/854/
正则的语法规则:
1、匹配一个字符 (元字符)
\d 只匹配数字0-9
\w 匹配[0-9A-Za-z_] 数字字母下划线 支持中文
. 除了换行符(\n)以外的所有字符。
2、正则的匹配次数
匹配前一个字符,0次或者多次 ==任意次
+匹配前一个字符,1次或者多次
?匹配前一个字符,0次或者1次
我们用的做多就是万能表达式: 非贪婪匹配的 .
?
? 非贪婪匹配模式:找到了## 两个后 不会再找了就匹配成功了;
贪婪模式:尽可能去进行更多的匹配
非贪婪模式:尽可能少的去进行匹配
Python的正则的库,内置库 re , 直接导入re 库,免安装re模块函数 : findall()
findall(正则表达式, 目标字符串) ,字符串从头到尾去匹配,只要符合要求就会拿出来多个符合的结果 存到列表里,返回一个列表。
如果只想获取里面的变量名 不需要这个## 限定符,可以加个括号括起来: 加了括号,就是只提取括号里的内容,## 就是左右边界了
万能正则:#.*?#,正则返回的数字是列表格式

  • findall(正则表达式, 目标字符串) ,字符串从头到尾去匹配,只要符合要求就会拿出来
    • 多个符合的结果 存到列表里,返回一个列表。
    • 如果匹配到任何结果: 返回的空列表
    • 如果只想获取里面的变量名 不需要这个## 限定符,可以加个括号括起来: 加了括号,就是只提取括号里的内容,## 就是左右边界了。

占位符包裹的变量找出来

  • 整体替换掉 -用环境变量的属性值
  • 在替换之前 要判断环境变量是否有这个属性 – access_token token_type
  • 用这个变量名字 判断属性
import restr_data = '{"Content-Type":"application/json","Accept-Language":"zh","Authorization": "#token_type##access_token#"}'result = re.findall("#.*?#",str_data)
print(result)  # ['#token_type#', '#access_token#']result = re.findall("#(.*?)#",str_data)
print(result)  # ['token_type', 'access_token']
在这里插入代码片

http://www.ppmy.cn/news/1584123.html

相关文章

Jmeter-负载测试

目录 一. 基础负载测试场景:固定并发用户数 1、线程组配置 2、HTTP请求配置 3、添加定时器 4、添加监听器 4.1 聚合报告 4.2 响应时间图 4.3 查看结果树 5、结果分析指标 二. 阶梯式加压场景(逐步增加并发) 1、插件安装 2、阶梯配…

利用GitHub Pages快速部署前端框架静态网页

文章目录 前言GitHub Pages 来部署前端框架(Vue 3 Vite)项目1、配置 GitHub Pages 部署2、将项目推送到 GitHub3、部署到 GitHub Pages4、访问部署页面5、修改代码后的更新部署顺序 前言 可以先参考: 使用 GitHub Pages 快速部署静态网页: …

Qt中QApplication::processEvents()详细讲解

QApplication::processEvents(); 是 Qt 框架中的一个关键函数,用于手动处理当前线程的事件队列。以下是其详细解释及使用场景: 1.作用 1.1处理挂起的事件 在默认情况下,Qt 的事件循环(通过 QApplication::exec() 启动&#xff…

SpringBoot3解决跨域请求问题(同源策略、JSONP、CORS策略)(Access-Control-Allow-Origin)(2025详细教程)

目录 浏览器跨域请求问题。 浏览器同源策略。 第三方API调用。 前后端分离项目。 一、JSONP。&#xff08;dataType:jsonp&#xff09; &#xff08;1&#xff09;代码示例。 <1>前端ajax04.jsp页面。(发起Ajax请求) <2>后端springboot接口。(/hello)(返回JSONPObj…

“立正挨打”之后,黄仁勋正式公布英伟达的量子计算应对战略

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨浪味仙 排版丨浪味仙 行业动向&#xff1a;4500字丨13分钟阅读 当 14 位量子计算企业高管聚集在同一个讨论会上&#xff0c;为各自公司的生存和技术选择辩护时&#xff0c;会发生什么&…

【软考备考】系统架构设计论文完整范文示例

本文由AI辅助创造 题目:基于微服务与云原生的智慧政务平台架构设计与实践 摘要(约300字) 本文以某省级智慧政务平台建设项目为背景,针对传统政务系统存在的"信息孤岛"、扩展性差、维护成本高等问题,提出了一套基于微服务与云原生技术的解决方案。通过领域驱动…

Flutter环境配置

配置环境变量 PUB_HOSTED_URLhttps://pub.flutter-io.cnFLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn 这个命令是用来配置 Flutter 的镜像源地址&#xff0c;主要是为了解决在中国大陆地区访问 Flutter 官方资源较慢的问题。 具体的操作如下&#xff1a; 右键点…

LabVIEW IMAQdx相机接口重命名

错误代码0xBFF6902E表明在尝试重命名相机接口时存在名称冲突或无效命名。根据系统配置信息&#xff0c;可能原因包括&#xff1a; 隐藏的残留配置&#xff1a;已卸载的相机接口未完全清除配置。 命名规则冲突&#xff1a;新名称与现有设备或保留关键字重复。 驱动兼容性问题&…