0

我可以通过使用 Webload 中的左右边界从给定表达式中提取值,但我无法index使用正则表达式提取器从以下表达式中提取特定值(例如 ):

index=2&Roll_ID=95372&NAME=ANDY&LastName=MURRAY&birthday

如果我们在一个页面中收到以下 3 个响应:

index=2&Roll_ID=9572&NAME=ANDY&LastName=MURRAY&a‌​mp& index=1&Roll_ID=7875&NAME=TOM&LastName=SHAW&& index=7&Roll_ID=8343&NAME=EMA&LastName=WINSTON&a‌​mp&Birthday

那么,我们的正则表达式必须是什么才能从最后一个响应中捕获索引值(7),因为它有一个额外的标签生日我相信在这种情况下,我们必须传递 Roll ID、Name 和 Last Name 的正则表达式,因为我们不知道哪个包含生日....虽然我们正在提取 Index 的值。

就像在 LoadRunner 中一样,我们编写正则表达式来捕获索引,如下所示:

index=(.*?)&Roll_ID=.*?&NAME=.*?&LastName=.*?&Birthday

在 Webload 中我们如何编写提取这个值?

Webload 中是否有任何内置函数可用于使用正则表达式提取器?

或者我们如何使用 JavaScript 代码提取这个值?

4

1 回答 1

1

这是一个快速的 JavaScript 示例:

var str = "index=2&Roll_ID=95372&NAME=ANDY&LastName=MURRAY&"
var match_result = str.match(/index=([^&]*?)/);
var index_val  =  match_result[1];

对于这个例子,我假设这将是一个标准的 URI 查询字符串。所以,在match()正则表达式中,我index=明确地寻找然后获取值(任何不是“&”字符,*?在第一次出现“&”时停止匹配)。

对于 HTML 编码的查询字符串,您应该需要对“&”进行前瞻来确定值匹配的结束。

于 2017-03-15T15:20:10.183 回答