正则表达式-万能表达式

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
  • 用这个变量名字 判断属性
c 复制代码
import re


str_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']
c 复制代码
在这里插入代码片
相关推荐
前端世界3 天前
Python 正则表达式实战:用 Match 对象轻松解析拼接数据流
python·正则表达式·php
Edward.W4 天前
别再和正则表达式死磕了!这套AI工具集让你的开发效率翻倍⚙️[特殊字符]
人工智能·正则表达式
beijingliushao4 天前
58-正则表达式
数据库·python·mysql·正则表达式
雷达学弱狗4 天前
正则表达式,字符串的搜索与替换
正则表达式
良木林4 天前
JS中正则表达式的运用
前端·javascript·正则表达式
ComputerInBook4 天前
C++编程语言:标准库:第37章——正则表达式(Bjarne Stroustrup)
开发语言·c++·正则表达式
雷达学弱狗4 天前
正则表达式与转义符的区别。注意输入的东西经过了一次转义,一次正则表达式。\\转义是单斜杠\\在正则表达式也是单斜杠所以\\\\经过两道门才是字符单斜杠
正则表达式
Zzz_睡不醒5 天前
JS(正则表达式)
javascript·正则表达式·c#
啊啊啊啊8435 天前
函数,数组与正则表达式
前端·chrome·正则表达式
MediaTea5 天前
Python:正则表达式
开发语言·c++·python·正则表达式