¿Qué son las Expresiones regulares (Regex)?
Breve descripción general
Las Expresiones regulares, conocidas como Regex, te permiten manipular texto dinámico que aparece en el contenido de WalkMe o que forma parte de procesos automatizados. Usando La sintaxis de Regex es ideal para situaciones en las que los valores de texto dinámico que estás utilizando contienen los valores deseados y otros caracteres que no son relevantes.
Casos de uso
Los casos de uso de Regex incluyen los siguientes:
- Cuando el texto dinámico incluye el nombre y el apellido de un usuario, utiliza Regex para seleccionar y mostrar solo su nombre en un ShoutOut o en una burbuja para que sea más personal (visualización)
- Rellenar automáticamente la dirección de correo de los usuarios (cuando sea parte de un objeto más grande con datos adicionales) en un campo de texto al cargar la página (automatización)
- Seleccionar solo una parte de una URL al utilizar texto dinámico para llevar automáticamente al usuario a una página diferente
Ejemplo de caso de uso
Un cliente desea que se muestre un Consejo inteligente cuando un elemento en pantalla que muestra una fecha sea anterior o igual al 31 de enero de 2019.
Cómo abordar el problema:
- Esboza los posibles valores que deseas que se correspondan y los que no
- Divide el problema en varios grupos de reglas que, cuando se combinen, abarquen todos los valores que deseas que se correspondan.
- En este ejemplo, tenemos cuatro patrones diferentes que queremos que se correspondan.
- Cualquier fecha de enero de 2019
- Cualquier fecha entre el 1 de enero de 2010 y el 31 de diciembre de 2018
- Cualquier fecha entre el 1 de enero de 2000 y el 31 de diciembre de 2009
- Cualquier fecha entre el 1 de enero de 0000 y el 31 de diciembre de 1999
- En este ejemplo, tenemos cuatro patrones diferentes que queremos que se correspondan.
- Crea las reglas para manejar cada uno de los casos anteriores y probarlas:
- ^Jan[\s]+[0123]?[\d]+,[\s]+2019$
- ^[\w]+[\s]+[0123]?[\d]+,[\s]+201[012345678]$
- ^[\w]+[\s]+[0123]?[\d]+,[\s]+200[0123456789]$
- ^[\w]+[\s]+[0123]?[\d]+,[\s]+[01][\d]{3}$
- Después de probar cada grupo, combínalo en una cadena utilizando la barra vertical (elimina el exceso de ^ y $)
- ^Jan[\s]+[0123]?[\d]+,[\s]+2019|[\w]+[\s]+[0123]?[\d]+,[\s]+201[012345678]|[\w]+[\s]+[0123]?[\d]+,[\s]+200[0123456789]|[\w]+[\s]+[0123]?[\d]+,[\s]+[01][\d]{3}$
- Implementa la RegEx anterior en la regla de visualización del segmento del Consejo inteligente utilizando:
- OSE/jQuery > El texto es según expresión regular > ^Jan[\s]+[0123]?[\d]+,[\s]+2019|[\w]+[\s]+[0123]?[\d]+,[\s]+201[012345678]|[\w]+[\s]+[0123]?[\d]+,[\s]+200[0123456789]|[\w]+[\s]+[0123]?[\d]+,[\s]+[01][\d]{3}$
- Resultado: el Consejo inteligente mostrará el valor de texto del elemento del 1 de enero de 0000 al 31 de enero de 2019
Cómo funciona
Comienza con una etiqueta de regex de apertura que contenga la expresión regular en sí, seguida de la declaración a la que deseas aplicar la expresión regular, y termina con una etiqueta de regex de cierre:
[regex=" {el regex mismo} "] {texto para ejecutar el regex} [/regex]
Estructura de Regex
Inicio y fin de demarcadores
Cuando esté fuera de corchetes, ^ denotará el inicio de Regex y se utilizará junto con el $ para marcar el final de la expresión regular.
Coincidencia de un solo carácter
La forma más básica de Regex permitirá una coincidencia directa de caracteres.
Listas y rangos
[] se puede utilizar para especificar una lista de valores y, cuando se combina con '-', puede dictar un rango de valores que puede tomar un carácter correspondiente en la cadena de destino.
Repeticiones
{3} y {#,#} se pueden utilizar para evitar tener que escribir los mismos patrones repetidamente sucesivamente dentro de un Regex.
Comodines
Son útiles si el texto de la cadena de destino es dinámico o si el contenido no es relevante. . coincidirá con un solo carácter, * coincidirá con cero o más del patrón anterior y + coincidirá con uno o más del patrón anterior.
Carácter de escape
La barra invertida \ denota que los caracteres que la siguen tienen un significado especial.
Carácter de exclusión
Cuando está dentro de [] ^ puede indicar que el carácter no debe estar presente en la cadena de destino.
Anticipación negativa
(?!) especificará que la siguiente cadena de caracteres no debe estar presente en la coincidencia y es útil para, por ejemplo, evitar que una extensión de WalkMe se inyecte en un iFrame incorrecto.
La tubería
| es el operador lógico "OR" en expresiones regulares y especifica que una cadena de destino puede coincidir con varios patrones.
Paso de redirección
Útil cuando se desea crear una URL de redirección utilizando BBCode.
https://app.[regex= .=""]*(?=\.)"][var]document.URL[/var][/regex].site.com/?cId=[regex=][jquery]INSERTAR SELECTOR DE JQUERY][/jquery][/regex]&pId=[regex=][jquery]INSERT JQUERY SELECTOR][/jquery][/regex]&r=/p/[regex=][jquery]INSERT JQUERY SELECTOR][/jquery][/regex]?tab=2&prId=asdf |