我正在使用jmeter运行测试,我需要使用正则表达式提取:
insertar?sIws2kyXGJJA_01==
insertar?sIws2kyXGJJA_02==
在以下字符串中:
[\"EMBPAGE1_00010001\",\"**insertar?sIws2kyXGJJA_01==**\",1,100,\"%\",300,\"px\",0,\"center\",\"\",\"[\"EMBPAGE1_00010002\",\"**insertar?sIws2kyXGJJA_02==**\",1,100,\"%\",300,\"px\",0,\"center\",\"\",\"
答案 0 :(得分:4)
在DMC给出的答案中,您需要添加正则表达式提取器TWICE以匹配/检索具有不同匹配号(1,2)的两个值。虽然它也是正确的,但建议采用更好的方法来实现同样的目标。
另一种方法:
<强> 1。捕获两个值:
您可以使用模板同时捕获值 ,然后使用索引来引用它。
请检查以下屏幕截图:
在这里,我们使用两个组将这两个值捕获到两个不同的模板中,分别为$ 1 $和$ 2 $。这里,模板默认按照正则表达式中指定的组的顺序存储数据。 (仅供参考,您也可以通过调整模板的顺序来更改订单,例如$ 2 $和$ 1 $。)
现在,如图所示,我们捕获两个值并使用模板存储它们:$ 1 $(指第一组匹配)和$ 2 $(指第二组匹配)
<强> 2。检索值:
现在,使用以下语法在脚本中引用这些值:
$ {insert_values_gn}(n指的是匹配编号)
例如:
$ {insert_values_g1} - 指第一场比赛
$ {insert_values_g2} - 指第二场比赛
为简单起见,您可以将“insert_values”视为使用多个组和使用'n'(1,2,3等)捕获的字符串列表作为检索值的索引。
注意:使用模板,您可以使用多个组检索任意数量的值,并使用单个正则表达式提取器通过索引来引用它们。
答案 1 :(得分:3)
我确信有一种更有效的方法,但这有效:
\*\*(.*?)\*\*.*\"\*\*(.*?)\*\*
您也可以只使用\*\*(.*?)\*\*
无论如何它都会匹配它们,因此请确保设置正确的“匹配号”如果您传递其中一个值,则在Jmeter中:
第一场比赛的比赛号码应为1,我相信第二场比赛的比赛号码为2。
答案 2 :(得分:1)
UPD:G2 - 在我的例子中,因为我从每次遭遇中提取两组。 每次遭遇都是g1中的“uuid”,g2是第二部分,我需要第二部分。 这就是$ 2 $模板和g2的原因。如果你遇到一个组,你很可能会使用$ 1 $模板将所有遭遇放入g1。 如果你有一个匹配组,你根本不需要_gN结束。 要在组提取后了解更多变量,请添加“Debug PostProcessor”并检查TreeView中的输出。
很好的两个知道像“For each”这样的控制元素可以理解组,并且可以使用regexUUID_这样的前缀并遍历。在大多数情况下,接下来你会在提取后做。
UPD2。有问题的正则表达式的原始版本(insertar \?sIws2kyXGJJA_ \ d *)==([^ [] *) 模板$ 1 $$ 2 $ 你将拥有g1组中的第一部分和g2中的第二部分