ADC
Gracias por los comentarios

Este artículo ha sido traducido automáticamente. (Aviso legal)

Expresiones regulares

Cuando quiere realizar operaciones de coincidencia de cadenas más complejas que las operaciones que realiza con los operadores CONTAINS("<string>") o EQ("<string>"), utiliza expresiones regulares. La infraestructura de directivas del dispositivo Citrix® NetScaler® incluye operadores a los que se pueden pasar expresiones regulares como argumentos para la coincidencia de texto. Los nombres de los operadores que trabajan con expresiones regulares incluyen la cadena REGEX. Las expresiones regulares que se pasan como argumentos deben ajustarse a la sintaxis de expresiones regulares que se describe en "<http://www.pcre.org/pcre.txt>." Puede obtener más información sobre las expresiones regulares en "<http://www.regular-expressions.info/quickstart.html>" y en "<http://www.silverstones.com/thebat/Regex.html>."

El texto de destino de un operador que funciona con expresiones regulares puede ser texto o el valor de un encabezado HTTP. A continuación se muestra el formato de una expresión de directiva avanzada que utiliza un operador de expresión regular para operar con texto:

<text>.<regex_operator>(re<delimiter><regex_pattern><delimiter>)

La cadena <text> representa el prefijo de expresión de directiva avanzada que identifica una cadena de texto de un paquete (por ejemplo, HTTP.REQ.URL). La cadena <regex_operator> representa el operador de expresión regular. La expresión regular siempre comienza con la cadena re. Un par de delimitadores coincidentes, representados por <delimiter>, encierran la cadena <regex_pattern>, que representa la expresión regular.

La siguiente expresión de ejemplo comprueba si la URL de un paquete HTTP contiene la cadena *.jpeg (donde * es un comodín) y devuelve un valor booleano TRUE o FALSE para indicar el resultado. La expresión regular está encerrada entre un par de barras diagonal (/), que actúan como delimitadores.

http.req.url.regex_match(re/.<asterisk>\.jpeg/)

Los operadores de expresiones regulares se pueden combinar para definir o refinar el alcance de una búsqueda. Por ejemplo, <text>.AFTER_REGEX(reregex_pattern1).BEFORE_REGEX(reregex_pattern2) especifica que el objetivo de la coincidencia de cadenas es el texto entre los patrones regex_pattern1 y regex_pattern2. Puede utilizar un operador de texto en el ámbito definido por los operadores de expresiones regulares. Por ejemplo, puede utilizar el operador CONTAINS("<string>") para comprobar si el ámbito definido contiene la cadena abc:

<text>.AFTER_REGEX(re/regex_pattern1).BEFORE_REGEX(re/regex_pattern2/).CONTAINS("abc")

Nota

El proceso de evaluación de una expresión regular lleva intrínsecamente más tiempo que el de un operador como CONTAINS("<string>") o EQ("<string>"), que funcionan con argumentos de cadena simples. Debe usar expresiones regulares solo si su requisito está fuera del alcance de otros operadores.

La versión oficial de este contenido está en inglés. Para mayor comodidad, parte del contenido de la documentación de Cloud Software Group solo tiene traducción automática. Cloud Software Group no puede controlar el contenido con traducción automática, que puede contener errores, imprecisiones o un lenguaje inadecuado. No se ofrece ninguna garantía, ni implícita ni explícita, en cuanto a la exactitud, la fiabilidad, la idoneidad o la precisión de las traducciones realizadas del original en inglés a cualquier otro idioma, o que su producto o servicio de Cloud Software Group se ajusten a cualquier contenido con traducción automática, y cualquier garantía provista bajo el contrato de licencia del usuario final o las condiciones de servicio, o cualquier otro contrato con Cloud Software Group, de que el producto o el servicio se ajusten a la documentación no se aplicará en cuanto dicha documentación se ha traducido automáticamente. Cloud Software Group no se hace responsable de los daños o los problemas que puedan surgir del uso del contenido traducido automáticamente.
Expresiones regulares