python自动化测试(7)--正则表达式

一、概念

二、匹配分类

1、单字符匹配

1 . 匹配除\n以外的任意字符
2 \d 匹配1个数字字符[0-9]
3 \D 匹配一个非数字字符[^0-9]
4 \w 匹配包括下划线的任何单词字符
5 \W 匹配任何非单词字符

 

2、多数量匹配

1 * 匹配0次或多次
2 + 匹配1次或多次
3 ? 匹配0次或1次
4 {n} 匹配n次
5 {n,} 匹配前一个字符至少n次
6 {n,m} 匹配前一个字符至少n次,至多m次

 

3、贪婪模式与非贪婪模式

(1)在时使用正则表达式进行匹配时,默认是贪婪模式

(2)贪婪模式是尽可能的匹配更长的字符

(3)非贪婪模式是尽可能匹配更短的字符,可以通过“?”将贪婪模式修改为非贪婪模式

【实例】

对于字符串“oooo”,"o+?"将匹配单个"o",而"o+"将匹配所有的"o"

4、多选项匹配

1 | 用于匹配多个规范,如x|y表示匹配x或者y
2 [xyz] 表示匹配xyz中的任意字符
3 [a-z] 表示匹配a-z范围内的任意字符,包含a和z

 

5、()匹配分组

主要用于将()内的字符匹配出来

【应用】

1 case = {
2         "method": "POST",
3         "url": "http://api.lemonban.com/futureloan/member/register",
4         "request_data": '{"mobile_phone": "#phone#", "pwd": "123456789", "type": 1, "reg_name": "#nick#"}'
5        }
6 res = re.findall("#(.*?)#",case["request_data"])   # 用于匹配以#开头、以#结尾的字符(非贪婪模式)
7 print(res)

此时匹配的结果为:

phone、nick

posted on 2021-04-29 17:36  jyf上善若水  阅读(67)  评论(0编辑  收藏  举报