首页 > 代码库 > jmeter--正则表达式提取器

jmeter--正则表达式提取器

今天实际操作了一下,正则表达式的提取,再此做一下总结。

首先先介绍一下正则表达式需要使用到的符号,并解释一下:

####################################################################################################

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

.   :匹配任何字符。

+  :一次或多次。

?   :不要太贪婪,在找到第一个匹配项后停止。

如果没有?,在找到第一个匹配项后,会继续寻找,直到最后一个匹配项,这么做很可能不是测试人员期望的。

尽管上面的表达式可以达到目的,但是使用如下表达式更有效率:name="file" value="http://www.mamicode.com/([^"]+)">,其中[^"]-意味着匹配任何东西(除了")。在这种情况下,匹配引擎在找到第一个右侧"后,就会停止搜索。而 上面例子中的匹配引擎会去寻找">。

#####################################################################################################

下面直接举例子,以用例来理解应用。比如,我想从下面的表达式中提取内容

############################################################################################

<link href="http://www.mamicode.com/css/library/kendo/kendo.bootstrap.min.css" rel="stylesheet" />
<link href="http://www.mamicode.com/css/style.css" rel="stylesheet" />
<link href="http://www.mamicode.com/css/alert.css" rel="stylesheet" />
<link href="http://www.mamicode.com/css/bohLogin.css" rel="stylesheet" />

#####################################################################################################

 正则表达式的书写方式我就不介绍了,网上很多,我着重介绍模板和匹配数字文本框的配置以及输出内容的表达方式,表达式如下所示

 A:当匹配数字和模板为正数时,输入表达式有以下几种输出方式

(一):${aa}  --模板指定的组数加上匹配数字数

     eg:模板:$2$   匹配数字:2  则 ${aa}=style.css   --即第2租取到的第2个数值

  (二) : ${aa_gn}   --第n组的数字+匹配数字

     eg:  模板:--   匹配数字:3  则 ${aa_g2}=alert.css  --即第2租取到的第3个数值

(三):${aa_g}  --正则表达式的组数

    eg: 模板:--  匹配数字:--  则${aa_g}=3    --即正则表达式有3组数据

 B:当模板写为$0$,匹配数字为正数时,表达式如下

    eg:  匹配数字:2  则${aa}=<link href="http://www.mamicode.com/css/style.css" rel="stylesheet" />    --即输入正则表达式的完整匹配项

 C:当上述两者情况下找不到匹配项时,则只有一种表达式有效,并且输出的是缺省值

    eg:  ${aa}=cuowu

 D:当匹配数字写-1时,有以下几种表达式

(一):${aa_matchNr} --发现的匹配条数

    eg: ${aa_matchNr}=4  --即有4条数据符合要求

(二):${aa_n}   --模板表达式中的组数中的第n个数

 eg: 模板:$2$   则 ${aa_2}=style.css   --即第2组数中的第2个数

(三):${aa_n_gm}   --第m组数中的第n个数

 eg:   ${aa_4_g2}=bohLogin.css   --第2组中的第4个数