JMeter正则表达式提取多个字符串

来源:互联网 发布:网络电视直播机顶盒 编辑:程序博客网 时间:2024/06/01 07:30


例子

提取单个字符串

假设您想要匹配网页的以下部分: 
name =“file”value =“readme.txt”>, 
并且要提取readme.txt。 
一个合适的正则表达式是: 
name="file" value="(.+?)">

上面的特殊字符是:

( and )
这些包围匹配字符串的部分将被返回
.
匹配任何字符
+
一次或多次
不要贪婪,即在第一场比赛成功时停止

注意:没有.+会继续超过第一个“>, 直到找到最后一个可能的”> - 这可能不是预期的。

注意:虽然上面的表达式有效,但使用下面的表达式会更有效率: 
name="file" value="([^"]+)"> 其中
[^”] - 表示除了 
在这种情况下,匹配引擎只要看到第一个就可以停止查找,而在之前的情况下,引擎必须检查它是否已经找到”>“而不是”>“

提取多个字符串

假设你想匹配一个网页的以下部分:
name="file.name" value="readme.txt",你想提取file.namereadme.txt。 
合适的正则表达式是: 
name="([^"]+)" value="([^"]+)"
这将创建2个组,可以在JMeter正则表达式提取器模板中使用$1$$2$

JMeter正则表达式提取器将组的值保存在其他变量中。

例如,假设:

  • 参考名称:MYREF
  • 正则表达式:name="(.+?)" value="(.+?)"
  • 模板:$1$$2$
不要将正则表达式放在/ /

以下变量将被设置:

MYREF
file.namereadme.txt
MYREF_g0
name="file.name" value="readme.txt"
MYREF_g1
file.name
MYREF_g2
readme.txt
这些变量稍后可以在JMeter测试计划中引用,例如${MYREF}${MYREF_g1} 等。
原创粉丝点击