Citrix ADC

Operaciones para expresiones regulares

En la siguiente tabla se describen los operadores que trabajan con expresiones regulares. La operación realizada por un operador de expresión regular en una expresión de sintaxis predeterminada 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, reemplace <text> por el prefijo de expresión de sintaxis predeterminado que quiere configurar para identificar el texto.

Operación de expresiones regulares Descripción
<text>.BEDE_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 “Ejemplo” de “MyExample”: Http.req.header (“etag”).after_regex (re/mi/)
<text>.REGEX_SELECT (<regular expression>) Selecciona una cadena que coincide con el <regular expression> argumento. Si la expresión regular no coincide con el destino, 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 destino coincide con un <regular expression> 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 del manual pcrepattern. Sin embargo, tenga en cuenta lo siguiente: No se permiten referencias retrospectivas. No se recomiendan expresiones regulares recursivas. El metacaractero de punto también coincide con el carácter de nueva línea. No se admite el conjunto de caracteres Unicode. 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/[[:alfa:]] + (abc) {2,3}/) y http.req.url.set_text_mode (urlencoded).regex_match (re# (ab+c) #) El siguiente ejemplo coincide con ab y aB: Http.req.url.regex_match (re/a (? 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 entre mayúsculas y minúsculas en la que el meta-cará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