一、作用
- 提取上个接口响应中的数据,给其他元件使用
- 工具:在线正则表达式测试
eg:
{"valid":true,"respDesc":"用户已存在","respCode":"0001"}
1. 用(.*?)来代替要提取的字段(要用英文标点)
提取true: "valid":(.*?),
2. 需要复制到最近的结束符
提取0001: "respCode":"(.*?)"
如果复制到 } ,那么会将用户名存在部分也提取出
3. [ ]里加入的项目系统自动匹配其中一个最短的结果
*提取true: "valid":true[,}]
结果eg:
{"valid":true,"respDesc":"用户已存在","token":"ashdkjfasduf"}
4. 用在手机验证码登录
提取token中内容: "token":"(.*?)"
eg:
{"valid":true,"respDesc":"用户已存在","respCode":"0001","respCode":"0000"}
5. 有多个相同数据提取
模板写法:(逗号隔开)
eg:取手机号 ([0-9]{11}?)
6. 取0-9的数字,11个数字
二、正则表达式的写法
1. 位置
- 开始:^
- 结束:$
- 字符集: [ ]
- 字符集中取几次: { } {2,9} 是2-次
2.描述1个字符
- 任意字符(不跨行): .
- 数字: [0-9]
*所有数字: \d - 字母:小写[a-z] 大写[A-Z] 大小写[a-zA-Z]
- 汉字:^[\u4e00-\u9fa5]{0,}$
3.同样格式的字符重复次数
- 0-1次: ?
- 1次:默认
- 0-无穷次: *
- 1-无穷次: +
- 取1次: +?
- n次: {n}
- N-无穷次: {n,}
*N-m次: {n,m}
史上最全正则表达式
网友评论