Je fais des tests avec jmeter et j'ai besoin d'extraire avec une expression régulière:
insertar?sIws2kyXGJJA_01==
insertar?sIws2kyXGJJA_02==
dans la chaîne suivante:
[\"EMBPAGE1_00010001\",\"**insertar?sIws2kyXGJJA_01==**\",1,100,\"%\",300,\"px\",0,\"center\",\"\",\"[\"EMBPAGE1_00010002\",\"**insertar?sIws2kyXGJJA_02==**\",1,100,\"%\",300,\"px\",0,\"center\",\"\",\"
Utiliser un opérateur super secret (résultat négatif N)
UPD: G2 - c’est dans mon exemple que j’extrais deux groupes de chaque rencontre. Chaque rencontre est "uuid" en g1 et g2 est la deuxième partie, j’ai besoin de la deuxième partie ici. C’est pourquoi $ 2 $ template et g2. Si vous rencontrez dans un groupe, vous utiliserez très probablement le modèle $ 1 $ qui placera toutes les rencontres dans g1. Si vous avez un groupe de correspondance, vous n'avez pas réellement besoin de _gN se terminant du tout. Pour comprendre plus les variables après l'extraction du groupe ajouter un "Debug PostProcessor" et examiner la sortie dans TreeView.
Les deux gentils savent que des éléments de contrôle tels que "Pour chaque" comprennent les groupes et peuvent fonctionner avec un préfixe tel que regexUUID_ et passer à travers. Dans la plupart des cas, c'est ce que vous faites après l'extraction.
UPD2. version primitive de l'expression rationnelle en question (insertar \? sIws2kyXGJJA_\d *) == ([^ [] *) avec le modèle $ 1 $$ 2 $ vous aurez les premières parties du groupe g1 et les deuxièmes parties en g2
Dans la réponse donnée par DMC, vous devez ajouter un extracteur d’expressions régulières TWICE afin de faire correspondre/récupérer les deux valeurs avec un numéro de correspondance différent (1, 2). Bien que cela soit également correct, il suggère une meilleure approche pour atteindre le même objectif.
Une autre approche:
1. Capturez les deux valeurs:
Vous pouvez utiliser Modèle pour capturer les deux valeurs en même temps , et plus tard, référez-vous à l'aide de l'indexation.
Veuillez vérifier la capture d'écran suivante:
Ici, nous avons capturé les deux valeurs en utilisant deux groupes dans deux modèles différents, respectivement $ 1 $ et $ 2 $. Ici, les modèles stockent les données dans l'ordre des groupes spécifiés par défaut dans les expressions régulières. (Pour votre information, vous pouvez également modifier l’ordre en modifiant légèrement l’ordre des modèles tels que $ 2 $, puis $ 1 $.)
Maintenant, comme dans le diagramme, nous capturons deux valeurs et les stockons à l'aide de modèles: $ 1 $ (fait référence à la correspondance du premier groupe) et $ 2 $ (fait référence à la correspondance du deuxième groupe)
2. Récupérer des valeurs:
Maintenant, référez-vous à ces valeurs dans votre script en utilisant la syntaxe suivante:
$ {insertion_values_gn} (n correspond au numéro de correspondance)
par exemple:
$ {insertion_values_g1} - fait référence à la première correspondance
$ {insertion_values_g2} - fait référence à la deuxième correspondance
Pour simplifier les choses, vous pouvez penser à "valeurs_insertion" en tant que liste de chaînes capturées à l'aide de plusieurs groupes et utilisez 'n' (1, 2, 3, etc.) comme index pour récupérer les valeurs.
Remarque: à l'aide de modèles, vous pouvez extraire n'importe quel nombre de valeurs à l'aide de plusieurs groupes. Vous pouvez y faire référence par index, à l'aide d'un seul extracteur d'expression régulière.
Je suis sûr qu'il existe un moyen plus efficace mais cela a fonctionné:
\*\*(.*?)\*\*.*\"\*\*(.*?)\*\*
Vous pouvez également utiliser uniquement \*\*(.*?)\*\*
De toute façon, les deux seront concordants. Veillez donc à définir le bon "Correspondant". dans Jmeter si vous passez une des valeurs:
Le numéro correspondant devrait être 1 pour le premier et 2 pour le second, je crois.