ADC

Operaciones para expresiones regulares

En la tabla siguiente se describen los operadores que funcionan con expresiones regulares. La operación realizada por un operador de expresión regular en una expresión de directiva avanzada determinada depende de si el prefijo de expresión identifica encabezados de texto o HTTP. Las operaciones que evalúan encabezados anulan cualquier operación basada en texto para todas las instancias del tipo de encabezado especificado. Cuando utilice un operador, sustituyapor <text> el prefijo de expresión de directiva avanzada que desee configurar para identificar el texto.

Operación de expresión regular Descripción
.BEFORE_REGEX () Selecciona el texto que precede a la cadena que coincide con el argumento. Si la expresión regular no coincide con ningún dato del destino, la expresión devuelve un objeto de texto de longitud 0. La siguiente expresión selecciona la cadena "text" de "text/plain". http.res.header ("content-type") .before_regex (re#/#)
.AFTER_REGEX () Selecciona el texto que sigue a la cadena que coincide con el argumento. Si la expresión regular no coincide con ningún texto del destino, la expresión devuelve un objeto de texto de longitud 0. La siguiente expresión extrae "Example" de "MyExample": http.req.header ("etag") .after_regex (re/my/)
.REGEX_SELECT () Selecciona una cadena que coincide con el argumento. Si la expresión regular no coincide con el objetivo, se devuelve un objeto de texto de longitud 0. El siguiente ejemplo extrae la cadena "NS-CACHE-9.0: 90" de un encabezado Via: http.req.header("via").regex_select(re!NS-CACHE-d.d:s*d{1,3}!)
.REGEX_MATCH () Devuelve TRUE si el objetivo coincide con un argumentode hasta 1499 caracteres. La expresión regular debe tener el siguiente formato: re expresión regularAmbos < delimiter> delimitadores deben ser iguales. Además, la expresión regular debe ajustarse a la sintaxis de la biblioteca de expresiones regulares compatible con Perl (PCRE). Para obtener más información, vaya a http://www.pcre.org/pcre.txt. En particular, consulte la página de manual pcrepattern. Sin embargo, tenga en cuenta lo siguiente: No se permiten referencias anteriores. No se recomiendan las expresiones regulares recursivas. El metacarácter de punto también coincide con el carácter de nueva línea. El juego de caracteres Unicode no es compatible. SET_TEXT_MODE (IGNORECASE) anula el (? i) opción interna especificada en la expresión regular. Esto son ejemplos: http.req.hostname.regex_match(re/[[:alpha:]]+(abc){2,3}/) yhttp.req.url.set_text_mode(urlencoded).regex_match(re#(a*b+c*)#) Este ejemplo coincide con ab y aB: http.req.url.regex_match(re/a(?i)b/) Este ejemplo coincide con ab, aB, Ab y AB: http.req.url.set_text_mode(ignorecase).regex_match(re/ab/) Este ejemplo busca coincidencias con varias líneas sin tener en cuenta mayúsculas y minúsculas, donde el metacarácter del punto también coincide con un carácter de línea nueva: http.req.body.regex_match(re/(?ixm) (^ab (.*) cd$) /)
Operaciones para expresiones regulares

En este artículo