Jmeter当获取正则表达式匹配数字为负数时获取所有匹配的值

需求说明:如果http的bodyData中有类似于{"idList":["6505","6506","2222".....]} 或者 {"idList":["6505"} 这种需求的 可以使用以下方法进行解决 !

 

1.创建全局变量idx

 

 

2.使用正则表达式提取所有匹配的

 

3.使用foreach 进行遍历 (vars.put("idx","${idx}${ID}*,*");)

4.使用java 对遍历后的结果进行处理 

log.info("idx===="+"${idx}");
String st="${idx}";
log.info("st==="+st);
String st1=st.substring(0, st.length() - 2).replace('*','\"');
vars.put("st2",st1);
log.info("st1="+st1);
log.info("${st2222}="+vars.get("st2"));

最后附上关于java 双引号(")转义字符的使用:


public class Test{
public static void main(String[] args){
String str1 = "\"name\"";//字符串两边含有双引号
String str2 = "name \"is\" wgb";//字符串中间含有双引号
String str3 = "\\name";//使用转义字符还可以使字符串包含其他字符

System.out.println("字符串一:" + str1);
System.out.println("字符串二:" + str2);
System.out.println("字符串三:" + str3);
}
}

以上方法可能比较笨拙 ,如果有更好的IDE 不妨留言给我 !

QQ:316567803@.com

posted @ 2018-10-25 16:16  linbo.yang  阅读(1391)  评论(2编辑  收藏  举报