正则表达式:如何在特定模式重复N次后获得值

时间:2014-05-30 14:35:28

标签: regex jmeter

我有一个文件如下例所示:

OTHERSTRING
orderCasa={"VARIABLESTRING":"VARIABLESTRING|VARIABLESTRING|VARIABLESTRING|VARIABLESTRING|VARIABLESTRING|STRING IM INTERESTED IN (COMPUND BY SIX NUMBERS)|        VARIABLESTRING|VARIABLESTRING|VARIABLESTRING|VARIABLESTRING|VARIABLESTRING|        VARIABLESTRING|
OTHERSTRING

其中:

  1. OTHERSTRING代表任何字符串。
  2. VARIABLESTRING表示任何字符串。
  3. 我感兴趣的字符串(六个字母的数字)是我感兴趣的字符串,它由6个数字组成,位置是固定的:它来自五个" |"。
  4. 我使用的软件是Jmeter

1 个答案:

答案 0 :(得分:4)

由于您使用的是 JMeter ,我建议您使用Regular Expression Extractor

Reference Name: MYSTR
Regular Expression: \|(.*?)\|
Template: $1$
Match No.: 3

提供匹配否。您可以使用相应的变量来访问匹配项。 ${MYSTR_3}

0 = Random Match
1 = First Match 
2 = Second Match
3 = Third Match

变量的设置如下:

MYSTR_matchNr - Number of matches found, possibly 0
MYSTR_n       - (n = 1, 2, etc..) Generated by the template
MYSTR_n_gm    - (m = 0, 1, 2) Groups for the match (n) 
MYSTR         - By itself it is always set to the default value
MYSTR_gn      - Not set at all