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, ersetzen Sie <text> durch das Präfix für erweiterte Richtlinienausdrücke, das Sie für die Textidentifizierung konfigurieren möchten.

Operation für reguläre Ausdrücke Beschreibung
.BEFORE_REGEX() Wählt den Text aus, der der Zeichenfolge vorausgeht, die dem 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#/#)
.AFTER_REGEX() Wählt den Text aus, der auf die Zeichenfolge folgt, die dem 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/)
.REGEX_SELECT() Wählt eine Zeichenfolge aus, die dem 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}!)
.REGEX_MATCH() Gibt TRUE zurück, wenn das Ziel mit einem argument von bis zu 1499 Zeichen übereinstimmt. Der reguläre Ausdruck muss das folgende Format haben: re Ausdruck Beide Trennzeichen müssen identisch 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. Beispiele: http.req.hostname.regex_match(re/[[:alpha:]]+(abc){2,3}/) und http.req.url.set_text_mode(urlencoded).regex_match(re#(a*b+c*)#) Das folgende Beispiel stimmt mit ab und aB überein: http.req.url.regex_match(re/a(?i)b/) Das folgende Beispiel stimmt mit ab, aB, Ab und AB überein: http.req.url.set_text_mode(ignorecase).regex_match(re/ab/) Das folgende Beispiel führt einen mehrzeiligen Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung durch, bei dem das Punkt-Metazeichen auch einem Zeilenumbruchzeichen entspricht: http.req.body.regex_match(re/(?ixm) (^ab (.*) cd$) /)
Operationen für reguläre Ausdrücke

In diesem Artikel