jmeter正则表达式提取器⾥正则表达式语法简介(⼀)
jmeter⾥接⼝请求结束后,如果后续接⼝请求想要获取本次返回结果的内容,就需要正则表达式提取器来获取参数,当然也可以⽤json path extractor来提取(这个简单⼀些)。不过Jmeter⾥很多地⽅的约束条件和断⾔都是需要正则表达式来匹配的,所以⼤家还是要学习⼀下正则表达式的语法,以便更好更效率的完成测试内容。下⾯简单介绍⼀下常⽤的语法,这次先写⼀半,下次再补另⼀半。正则表达式的内容还是很多的,我也只是学了其中的⼀些⽪⽑,通⽤的东西,后期再慢慢深⼊吧,⽽且要学以致⽤,学的东西⼀定要亲⾃实际体验⼀下才会记得牢,好了,⾔归正转。
  我参考的⽹站是deerchao,作者真是伟⼤,⽂章也很幽默,也是⽼资格的⼈了,哈哈。也可以直接忽略我的⽂章,直接看⼤⽜的⽂章学习。那这⾥我就直接从字符匹配的语法来进⾏实例讲解了,可以下载⽹站⾥的正则表达式测试⼯具,直接在⼯具⾥体验。
下⾯列举元字符语法:
1.\bhi\b : 匹配只有hi的字符,\b代表的位置,第⼀个\b代表单词开始的位置,第⼆个\b代表单词结束的位置
2.\bhi\b.*\bthis\b : 匹配hi的字符后,中间有任意个字符后,后⾯是this的字符
3. . : 表⽰任意字符的元字符
4. *:表⽰任意数量的元字符
5. \d :表⽰任意⼀个数字
6. \d{2}: 表⽰任意⼀个数字出现两次,相当于\d\d
7. \s : 匹配任意的空⽩符,包括空格,换⾏符,制表符(tab),中⽂全⾓空格
8. \w : 匹配字母,数字,下划线或汉字
正则化工具包9. \d+ :匹配⼀个或更多连续的数字
10. \b\w{2}\b : 匹配刚好有两个字符的单词
11. \b : 匹配单词的开始和结束
12. ^ : 匹配字符串的开始
13. $ : 匹配字符串的结束, 例: ^\d{2,5}$ 表⽰输⼊的数字必须是2位(包含)到5位(包含)之间
14. \ : 转义字符,如果要查元字符就需要⽤转义字符来完成,⽐如: deerchao\ 实际上是deerchao
15. 重复次数说明: *是重复0次或多次,+是重复1次或多次,?是重复零次或⼀次,{n} 是重复n次,{n,}是重复n次到多次,{n,m}是重复n次到m次
16. [] : 括号⾥的字符会被匹配,⽐如[ab]匹配a或b字符,[,?]匹配逗号或问号
17. [a-z0-9A-Z] : 相当于匹配\w
18. | : 匹配或规则。⽐如: \(0\d{2}\)[- ]?\d{8}|\(0\d{3}\)[- ]\d{7}|0\d{2}[- ]?\d{8}|0\d{3}[- ]?\d{7} 这个就是匹配电话号码的,如:012-56236562, 0536-*******,(0536)-1234567,01212345678
19. ():匹配分组,255.134.123.123 或 193.168.1.1 匹配表达式为:
(([01]?\d\d?|25[0-5]|2[0-4]\d)\.){3}([01]?\d\d?|25[0-5]|2[0-4]\d)
20. \W : 匹配任意不是字母,数字,下划线,汉字的字符
21. \S : 匹配任意不是空⽩符的字符
22. \D : 匹配任意⾮数字的字符
23. \B : 匹配不是单词开头或结尾的位置
24. [^x] : 匹配除了x以外的任意字符
25. [^aeiou] : 匹配除了aeiou以外的任意字符
26. (?<word>\w+) 或(?'word'\w+) 后向引⽤,⽤于重复搜索前⾯某个分组已经匹配的⽂本,引⽤时就可以写成\k<word>。实际上分组0对应整个正则表达式;组号分配过程是从左到右分配两遍的,第⼀遍先扫描未命名的分组,第⼆遍扫描已命名的分组,所以命名分组的组号永远⼤于未命名分组的组号的;可以⽤(?:exp)来剥夺组号分配的参与权
27. 分组命名的⼏种语法: (exp) 匹配exp表达式并将⽂本匹配的内容⾃动分配到分组⾥;
(?<name> exp)匹配exp表达式⾥的⽂本内容到name组名下,也可以写成(?'name'exp); (?:exp)匹配exp表达式⾥内容,但是不捕获匹配的⽂本也不给匹配的⽂本分配组号;(?=exp)匹配exp前⾯的位置; (?<=exp)匹配exp后⾯的位置; (?!exp)匹配后⾯不是exp的位置; (?<!exp) 匹配前⾯不是exp的位置; (?
#comment)添加注释,对正则表达式没有任何影响;
28. (?=exp)与(?<=exp)为零宽断⾔,其中(?=exp)为零宽度正预测先⾏断⾔,(?<=exp)为零宽度正回顾后发断⾔。(?=exp)表⽰⾃exp断⾔表达式出现的位置开始匹配断⾔之前的内容,如\b\w+(?=er\b) 源⽂件为tester,则匹配结果为:test。(?<=exp)表⽰⾃exp断⾔表达式内容结束后的位置开始匹配后⾯的内容,如(?
<=test)\w+\b 源⽂件为test, 则匹配结果为:er。
以上只列表了基本的正则表达式⼀半的元字符语法,后⾯再继续第⼆部分的编写。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。