Jmeter之正则表达式提取器


作用:可以从请求的响应结果中取到需要的内容,从而实现关联。

Jmeter正则表达式提取器控制面板,截图如下:

位置1:名称及注释

位置2:正则表达式提取内容的范围。(关于各字段的详细说明请查阅协议的相关说明)

位置3:正则表达式提取的相关设置

引用名称:其他地方引用提取值的变量名称,如填写的是:str,具体的引用方式是${str}

正则表达式:提取内容的正则表达式【稍注意一下:()表示提取,对于你要提前的内容需要用小括号括起来】

模板:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$1$, $2$,$3$等等,

表示解析到的第几个值给str

匹配数字(0代表随机):0代表随机,-1代表所有,其余正整数代表将在坚持的内容中,第几个匹配的内容提取出来。

缺省值:正则匹配失败时,取的值

详解Jmeter 正则表达式

术语理解:

包含(Contains)意味着正则表达式至少部分匹配目标。例如:”alphabet”包含”ph.b”;

匹配(Matches)意味着正则表达式完全匹配目标,例如:”alphabet”匹配“al.*t“;

在这一情况下,它等同于使用^和$封装正则表达式,即“^al.t$”。但是事情并不总是这样

Eg:正则表达式”alp.lp.*”包含于”alphabet”,但并不匹配”alphabet”;

原因在于当范本匹配器在”alphabet”中找到序列”alp”后,就会停止尝试其他组合,

而且”alp”不同于”alphabet”,它不包含”habet“

实例

1).提取单个字符串

期望匹配web页面的如下部分:

Name=”file” value=”readme.txt”> 并提取readme.txt

符合要求的正则表达式:name=“file”value=”(.+?)” >

上面用到的特殊字符包括如下几个:

( ):封装了待返回的匹配字符串;

.:匹配任何字符

+:一次或多次

?:在找到第一个匹配项后停止

若没有?在找到第一个>后,会继续寻找,直到最后一个”>”;

优化,提高效率:name=”file” value=”([^”]+)”>,其中[^”]意味着匹配任何东西,除了”,

此种情况下,匹配引擎在找到第一个右侧”后,就会停止搜索

而上面例子中的匹配引擎会去寻找”>

 2). 提取多个字符串

期望匹配web页面的如下部分:

Name=”file” value=”readme.txt”> 并提取file.name和readme.txt

  符合要求的正则表达式:name=”([^”]+)” value=”([^”]+)”

  这会创建两个组合,并可用于jmeter正则表达式模版,形如$1$$2S

 3).关键字

() : 组合

[ ] :字符集合

{}  :重复

+? :重复

*:任意匹配字符

\ :转义字符

|-:选择符

^$:字符串或行的起始和结尾

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值