Citrix ADC

Operationen für reguläre Ausdrücke

In der folgenden Tabelle werden die Operatoren beschrieben, die mit regulären Ausdrücken arbeiten. Die Operation, die von einem Operator für reguläre Ausdrücke in einem bestimmten erweiterten Richtlinienausdruck ausgeführt wird, hängt davon ab, ob das Ausdruckspräfix Text oder HTTP-Header identifiziert. Operationen, die Header auswerten, überschreiben alle textbasierten Operationen für alle Instanzen des angegebenen Header-Typs. Wenn Sie einen Operator verwenden, <text>ersetzen Sie durch das Präfix für erweiterte Richtlinienausdrücke, das Sie zum Identifizieren von Text konfigurieren möchten.

Operation für reguläre Ausdrücke Beschreibung
<text>.BEFORE_REGEX (<regular expression>) Wählt den Text aus, der der Zeichenfolge vorausgeht, die dem <regular expression>Argument entspricht. Wenn der reguläre Ausdruck mit keinen Daten im Ziel übereinstimmt, gibt der Ausdruck ein Textobjekt mit der Länge 0 zurück. Der folgende Ausdruck wählt die Zeichenfolge “text” aus “text/plain”. http.res.header (“content-type”) .before_regex (re#/#)
<text>.AFTER_REGEX (<regular expression>) Wählt den Text aus, der der Zeichenfolge folgt, die dem <regular expression>Argument entspricht. Wenn der reguläre Ausdruck mit keinem Text im Ziel übereinstimmt, gibt der Ausdruck ein Textobjekt mit der Länge 0 zurück. Der folgende Ausdruck extrahiert “Beispiel” aus “myExample”: http.req.header (“etag”) .after_regex (re/my/)
<text>.REGEX_SELECT (<regular expression>) Wählt eine Zeichenfolge aus, die dem <regular expression>Argument entspricht. Wenn der reguläre Ausdruck nicht mit dem Ziel übereinstimmt, wird ein Textobjekt der Länge 0 zurückgegeben. Das folgende Beispiel extrahiert die Zeichenfolge “NS-CACHE-9.0:90” aus einem Via-Header: http.req.header (“via”) .regex_select (re! NS-CACHE-\ d.\ d:\ s*\ d {1,3}!)
<text>.REGEX_MATCH (<regular expression>) Gibt TRUE zurück, wenn das Ziel einem <regular expression>Argument mit bis zu 1499 Zeichen entspricht. Der reguläre Ausdruck muss das folgende Format haben: re <delimiter>regulärer Ausdruck< delimiter> Beide Trennzeichen müssen gleich sein. Zusätzlich muss der reguläre Ausdruck der Perl-kompatiblen (PCRE) Bibliothekssyntax für reguläre Ausdrücke entsprechen. Weitere Information finden Sie unter http://www.pcre.org/pcre.txt. Siehe insbesondere die Manpage pcrepattern. Beachten Sie jedoch Folgendes: Rückverweise sind nicht zulässig. Rekursive reguläre Ausdrücke werden nicht empfohlen. Das Punkt-Metazeichen entspricht auch dem Zeilenumbruchzeichen. Der Unicode-Zeichensatz wird nicht unterstützt. SET_TEXT_MODE (IGNORECASE) überschreibt die (?i) interne Option im regulären Ausdruck angegeben. The following are examples: http.req.hostname.regex_match(re/[[:alpha:]]+(abc){2,3}/) and http.req.url.set_text_mode(urlencoded).regex_match(re#(ab+c)#) The following example matches ab and aB: http.req.url.regex_match(re/a(?i)b/) The following example matches ab, aB, Ab and AB: http.req.url.set_text_mode(ignorecase).regex_match(re/ab/) The following example performs a case-insensitive, multiline match in which the dot meta-character also matches a newline character: http.req.body.regex_match(re/(?ixm) (^ab (.*) cd$) /)
Operationen für reguläre Ausdrücke

In diesem Artikel