Citrix 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, <text>sustitúyalo por el prefijo de expresión de directiva avanzada que quiera configurar para identificar texto.

Operación de expresión regular Descripción
<text>.BEFORE_REGEX (<regular expression>) Selecciona el texto que precede a la cadena que coincide con el <regular expression>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#/#)
<text>.AFTER_REGEX (<regular expression>) Selecciona el texto que sigue a la cadena que coincide con el <regular expression>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/)
<text>.REGEX_SELECT (<regular expression>) Selecciona una cadena que coincide con el <regular expression>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}!)
<text>.REGEX_MATCH (<regular expression>) Devuelve TRUE si el objetivo <regular expression>coincide con un argumento de hasta 1499 caracteres. La expresión regular debe tener el siguiente formato: re <delimiter>expresión regular< delimiter> Ambos 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. Los siguientes son ejemplos: http.req.hostname.regex_match (re/[[:alpha:]] + (abc) {2,3}/) y http.req.url.set_text_mode (codificado por urlencoded) .regex_match (re# (a b+c) #) El siguiente ejemplo coincide con ab y ab: http.req.url.regex_match (ab+c) #) El siguiente ejemplo coincide con ab y aB: http.req.url.regex_match (re/) _match (req.match (req.match (req.match (req. i) b/) El siguiente ejemplo coincide con ab, aB, Ab y AB: http.req.url.set_text_mode (ignorecase) .regex_match (re/ab/) El siguiente ejemplo realiza una coincidencia multilínea sin distinción de mayúsculas y minúsculas en la que el metacarácter de punto también coincide con un carácter de nueva línea: http.req.body.regex_match (re/ (? ixm) (^ab (.*) cd$)/)
Operaciones para expresiones regulares