ADC

Opérations pour les expressions régulières

Le tableau suivant décrit les opérateurs qui fonctionnent avec des expressions régulières. L’opération effectuée par un opérateur d’expression régulière dans une expression de syntaxe par défaut donnée dépend si le préfixe d’expression identifie des en-têtes de texte ou HTTP. Les opérations qui évaluent les en-têtes remplacent toutes les opérations basées sur le texte pour toutes les instances du type d’en-tête spécifié. Lorsque vous utilisez un opérateur, remplacez <text> par le préfixe d’expression de syntaxe par défaut que vous souhaitez configurer pour identifier le texte.

Opération d’expression régulière Description
.BEFORE_REGEX() Sélectionne le texte qui précède la chaîne correspondant à l’ argument. Si l’expression régulière ne correspond à aucune donnée de la cible, l’expression renvoie un objet texte de longueur 0. L’expression suivante sélectionne la chaîne "text" de "text/plain". http.res.header("content-type").before_regex(re#/#)
.AFTER_REGEX() Sélectionne le texte qui suit la chaîne correspondant à l’ argument. Si l’expression régulière ne correspond à aucun texte de la cible, l’expression renvoie un objet texte de longueur 0. L’expression suivante extrait « Example » de « MyExample » : http.req.header (« etag ») .after_regex (re/mon/)
.REGEX_SELECT() Sélectionne une chaîne qui correspond à l’ argument. Si l’expression régulière ne correspond pas à la cible, un objet texte de longueur 0 est renvoyé. L’exemple suivant extrait la chaîne « NS-CACHE-9.0 : 90 » d’un en-tête Via : http.req.header (« via ») .regex_select (re ! NS-cache-d.d:s*d {1,3} !)
.REGEX_MATCH() Renvoie TRUE si la cible correspond à un argument de 1499 caractères maximum. L’expression régulière doit être du format suivant : re expression régulière< delimiter> Les deux délimiteurs doivent être les mêmes. En outre, l’expression régulière doit être conforme à la syntaxe de la bibliothèque d’expressions régulières compatible PERL (PCRE). Pour plus d’informations, accédez à http://www.pcre.org/pcre.txt. En particulier, consultez la page de manuel pcrepattern. Toutefois, notez ce qui suit : Les références arrière ne sont pas autorisées. Les expressions régulières récursives ne sont pas recommandées. Le métacaractère point correspond également au caractère de nouvelle ligne. Le jeu de caractères Unicode n’est pas pris en charge. SET_TEXT_MODE (IGNORECASE) remplace le ( ? i) option interne spécifiée dans l’expression régulière. Voici des exemples : http.req.hostname.regex_match (re/[[:alpha :]] + (abc) {2,3}/) et http.req.url.set_text_mode (code URL) .regex_match (re# (a*b+c*) #) L’exemple suivant correspond à ab et aB : http.req.url.regex_match (re/a (re/a (re/a (? i) b/) L’exemple suivant correspond à ab, ab, Ab et AB : http.req.url.set_text_mode (ignorecase) .regex_match (re/ab/) L’exemple suivant effectue une correspondance multiligne insensible à la casse dans laquelle le méta-caractère du point correspond également à un caractère de saut de ligne : http.req.body.regex_match (re/ (? ixm) (^ab (.*) cd$)/)
Opérations pour les expressions régulières