Annexe A. Expressions Régulières

Table des matières

Vue d'ensemble
Introduction
Fonctionnement
Référence rapide
Caractères spéciaux
Classes de caractères
Classes de caractères prédéfinies
Exemples
Extraire un paramètre d'URL
Extraire un paramètre de formulaire
Extraire des entêtes HTTP
Extraire des valeurs diverses
Erreurs typiques & Conseils
Utiliser le point d'interrogation '?'
Les parenthèses
Les espaces
Gérer plusieurs lignes
Liens vers des resources RegExp
Liens vers des testeurs de RegExp

Vue d'ensemble

Introduction

NeoLoad inclut le moteur d'expressions régulières Apache Jakarta ORO qui gère les expressions régulières au format Perl5.

Les expressions régulières peuvent être utilisées dans NeoLoad pour définir :

  • des assertions de contenu : la requête est marquée comme valide si le contenu valide l'expression régulière,

  • des extracteurs de variable : extrait une valeur du contenu de la réponse d'une requête et l'affecte à une variable,

Ce guide n'est pas une référence complète sur les expressions régulières.

La section Référence rapide et la section Exemples sont suffisantes pour gérer les cas communs. Se reporter aux ressources sur les RegExps pour obtenir des liens vers des documentations complètes ainsi que des tutoriaux. Tester les RegExps avec les outils référencés par la liste Liens vers les testeurs de RegExp.

Fonctionnement

Les expressions régulières permettent de trouver des sous-chaines correspondant au motif défini.

Par exemple, considérons le texte suivant : La valeur est : 45675

Nous pouvons effectuer deux types d'opération :

  • Tester si du texte contient "La valeur est : <un nombre>" , comme requis pour définir une assertion de contenu. Dans ce cas, la RegExp serait : La valeur est : \d*

  • Extraire la valeur numérique du texte, comme requis pour définir un extracteur de variables. Dans ce cas, la RegExp serait : La valeur est : (\d*)

    Les parenthèses servent à définir un groupe. Faire référence à ce groupe avec "$1$" car cette expression ne contient qu'un couple de parenthèse. Quand plusieurs groupes sont définis, utiliser "$index$" où index est l'index du groupe par ordre d'apparition de la gauche vers la droite.