Jmeter:如何使用正则表达式检索第二行的值?
Jmeter: how to retrieve values which is in 2nd line using Regx?
我正在从数据库中检索名字,并使用 REGx(jmeter) 将其存储在对象中。由于在第二行(PF 屏幕截图)中检索到数据,当我在 api 中发送该数据时,请求它进入第二行,如下所示。因此 API 返回 400。请为此提出可能的解决方案?
数据库响应:
FirstName
RockyBhai
使用 Regx
FirstName([^"]+)
我的请求:
{
"name":"${name}",
}
jmeter 已发送 api 请求:
{
"name":"
RockyBhai
",
}
我期待:
{
"name":"RockyBhai",
}
IMG
按如下方式配置您的正则表达式提取器:
- 创建变量的名称:任何有意义的,即
firstName
- 正则表达式:
(\w+)
- 模板:
$
- 匹配号:
2
您应该能够在需要时以 ${firstName}
的形式访问提取的值:
参考文献:
您所需要的只是一个模式,它将 trim 第 1 组中从作为 [^"]
捕获的空格捕获的值匹配除 "
之外的任何字符(包括空格)。
您可以使用
FirstName\s*([^"]*[^"\s])
参见regex demo。
详情
FirstName
- 一句话
\s*
- 0 个或多个空格(这个trim是左边的空格)
([^"]*[^"\s])
- 捕获组 1:
[^"]*
- "
以外的任何 0+ 个字符
[^"\s]
- ...直到最接近的 "
之前的最后一个字符,它不是空白 (这 trims右边的空格)。
如果打算只匹配一行名字,在[^"]
取反符class中加上\n
,FirstName\s*([^"\n]*[^"\s])
.
我正在从数据库中检索名字,并使用 REGx(jmeter) 将其存储在对象中。由于在第二行(PF 屏幕截图)中检索到数据,当我在 api 中发送该数据时,请求它进入第二行,如下所示。因此 API 返回 400。请为此提出可能的解决方案?
数据库响应:
FirstName
RockyBhai
使用 Regx
FirstName([^"]+)
我的请求:
{
"name":"${name}",
}
jmeter 已发送 api 请求:
{
"name":"
RockyBhai
",
}
我期待:
{
"name":"RockyBhai",
}
IMG
按如下方式配置您的正则表达式提取器:
- 创建变量的名称:任何有意义的,即
firstName
- 正则表达式:
(\w+)
- 模板:
$
- 匹配号:
2
您应该能够在需要时以 ${firstName}
的形式访问提取的值:
参考文献:
您所需要的只是一个模式,它将 trim 第 1 组中从作为 [^"]
捕获的空格捕获的值匹配除 "
之外的任何字符(包括空格)。
您可以使用
FirstName\s*([^"]*[^"\s])
参见regex demo。
详情
FirstName
- 一句话\s*
- 0 个或多个空格(这个trim是左边的空格)([^"]*[^"\s])
- 捕获组 1:[^"]*
-"
以外的任何 0+ 个字符
[^"\s]
- ...直到最接近的"
之前的最后一个字符,它不是空白 (这 trims右边的空格)。
如果打算只匹配一行名字,在[^"]
取反符class中加上\n
,FirstName\s*([^"\n]*[^"\s])
.