jmeter之正则表达式讲解

(正则表达式)元件功能介绍:

  Apply to:(适用域、适用范围)

    Main sample and sub-samples:适用范围为:(主请求和子请求)

    Main sample only:适用范围为(主请求)

    sub-samples only:适用范围为(子请求)

分三个层次介绍:

1. jmeter正则表达式有什么作用?

2. 正则表达式在哪?

3. 正则表达式怎么用?

1. jmeter正则表达式有什么作用?

答:提取请求中返回的数据, 然后获取的数据放入其它请求中, 作为参数使用。 常用在接口传参中, 列如获取token、id等

2. 正则表达式在哪?

 

 

3. 正则表达式怎么用?

首先请看下面常用表达式,可以使用提取器来练习

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\.net 实际上是deerchao.net
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-1234567,(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。

():括起来的部分就是要提取的。
.:匹配任何字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。

一般这几个够用了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好度

你的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值