python:正则表达式

序言

在搞接口自动化测试的时候, 很多情况下都需要对终端回显的结果进行判断,看是否符合某一格式, 这就需要用到正则表达式这个技术。


常用的 pattern

函数接口

在测试中最常用的正则表达式的接口为:


# 扫描整个字符串
re.search(pattern, string, flags=0)
-> 成功, <class Match>
-> 失败, 返回 None

# 

参数列表


pattern: 匹配模式 : 正则表达式
string:  待匹配字符串 
flags 标识符, 影响接口行为

flags常用选项:

re.I	使匹配对大小写不敏感
re.S	使.能够匹配 "\n":
	pattern = r"start.*end"
	sring = "1\nstart\ntest1\ntest2\nend\n2"
	re.search(pattern, string, flags=0)
	# 当flag is 0的时候, 是一行一行匹配的, start与end不在一行所以无法匹配
	out:
	   None
	
	re.search(pattern, string, flags=re.S)
	# pattren 中的 "." 能够匹配 \n
	out:
		<re.Match object; span=(2, 23), match='start\ntest1\ntest2\nend'>


正则表达式的模式 - 重点:

正则表达式的常用匹配模式如下:

模式 匹配内容 详细描述
. 匹配任意非 ‘\n’ 字符
[…] 匹配列出的字符 [abc] 匹配a或b或c
[^…] 匹配未列出的字符 [^abc]匹配非a,b,c
re* 匹配0个或多个表达式 c(ab)*能够匹配 c,cab …
re+ 匹配1个后者多个 -
re? 匹配0个或1个 -
re{ n} 匹配n个 -
re{ n,} 匹配n个或多个 -
re{ n, m} n到m个 -
a|b 匹配a或者b
\w 匹配字母数字下划线 -
\s 匹配任意空白 [ \t\n\r\f]
\d 匹配任意数字 -

注:
pattern = r"", 加上前缀r比较好

你可能感兴趣的:(正则表达式)