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 Standard-Syntaxausdruck ausgeführt wird, hängt davon ab, ob das Ausdruckspräfix Text oder HTTP-Header identifiziert. Vorgänge, die Header auswerten, überschreiben textbasierte Vorgänge für alle Instanzen des angegebenen Headertyps. Wenn Sie einen Operator verwenden, <text> ersetzen Sie durch das standardmäßige Syntaxausdruckpräfix, das Sie für die Identifizierung von Text konfigurieren möchten.

Regulärer Ausdruck Beschreibung
<text>.BEFORE_REGEX (<regular expression>) Wählt den Text aus, der vor der Zeichenfolge steht, die dem <regular expression> Argument entspricht. Wenn der reguläre Ausdruck keinen Daten im Ziel entspricht, gibt der Ausdruck ein Textobjekt 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 keinem Text im Ziel entspricht, gibt der Ausdruck ein Textobjekt der Länge 0 zurück. Der folgende Ausdruck extrahiert “Beispiel” aus “MyExample”: http.req.header (“etag”) .after_regex (re/mein/)
<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 von 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. Darüber hinaus muss der reguläre Ausdruck der PERL-kompatiblen (PCRE) Library Syntax für reguläre Ausdrücke entsprechen. Weitere Informationen finden Sie unter http://www.pcre.org/pcre.txt. Siehe insbesondere die Handbuchseite pcrepattern. Beachten Sie jedoch Folgendes: Rückverweise sind nicht zulässig. Rekursive reguläre Ausdrücke werden nicht empfohlen. Der Punkt-Metazeichen entspricht auch dem Zeilenumbruch. Der Unicode-Zeichensatz wird nicht unterstützt. SET_TEXT_MODE (IGNORECASE) überschreibt die (? i) interne Option im regulären Ausdruck angegeben. Die folgenden Beispiele sind: http.req.hostname.regex_match (re/[[:alpha:]] + (abc) {2,3}/) und http.req.url.set_text_mode (urlencoded) .regex_match (re# (ab+c) #) Das folgende Beispiel entspricht ab und ab: http.req.url.regex_match (re/a (? i) b/) Das folgende Beispiel entspricht ab, AB, Ab und AB: http.req.url.set_text_mode (ignorecase) .regex_match (re/ab/) Das folgende Beispiel führt eine mehrzeilige Übereinstimmung durch, bei der das Punkt-Meta-Zeichen auch mit einem Zeilenumbruch übereinstimmt: http.req.body.regex_match (re/ (? ixm) (^ab (.*) cd$)/)

Operationen für reguläre Ausdrücke