正则表达式Jmeter,根据左边界值进行最右边的匹配

时间:2018-03-13 06:48:47

标签: java regex jmeter

我正在尝试使用正则表达式在Jmeter中进行关联。 我的情况是:

  

GUID = 1232,awsdqdwe click1,GUID = 21232 berttt click2,b,GUID = 323223,babsjbcjhbcc click3

这里我希望捕获点击3值的GUID,这是数字忽略所有字母文本 正则表达式:GUID=(.*?)(?#text)click3

但是这个正则表达式采用最左边的GUID。如何从最右边的边界匹配中查找第一个GUID?

2 个答案:

答案 0 :(得分:0)

尝试以下方法,

String input ="GUID=1232, awsdqdwe click1 ,GUID=21232 berttt click2, b, GUID=323223,babsjbcjhbcc click3"; 
Pattern click3IdPatttern = Pattern.compile("(?<=GUID[=])\\d+(?=[a-zA-Z ,]+?(click3))");
Matcher matcher = click3IdPatttern.Matcher(input);
String id = matcher.find() ? matcher.group() : "";

在我的正则表达式"(?<=GUID[=])\\d+(?=[a-zA-Z ,]+?(click3))"中,iam使用正向前瞻和后视。

答案 1 :(得分:0)

相关的正则表达式如下:

 GUID=(\d+),.*click3

演示:

JMeter Regular Expression Extractor

参考文献: