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.
Más información sobre Regex.
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
- 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]
Note
- {texto para ejecutar el regex} puede ser una combinación de varios valores de texto dinámicos, como variables, cookies, datos de WalkMe y jQuery, así como valores estáticos
- La mayoría, si no todos, los usos del texto en regex serán dinámicos, con un uso mínimo de valores de texto estáticos
Uso compatible de regex en WalkMe
Consejos del motor de reglas:
- Elemento seleccionado
- URL
- Atributos de usuario
- jQuery
- Elemento en pantalla
- Variable (datos de usuario)
BBCode para contenido de WalkMe:
- Visualización:
- Paso de Smart Walk-Thru
- ShoutOut
- Consejo Inteligente de orientación:
- Encuesta
- Automatización
- Paso automático de Smart Walk-Thru (rellenar el texto y seleccionar un valor de la lista)
- Paso de redirección de Smart Walk-Thru
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.
Ejemplos
- Expresión regular en un paquete de extensión: ^https:\/\/ecolab\.my\.salesforce\.com.*|^https:\/\/ecolab.*na.*\.visual\.force\.com.*
- Expresión regular en el motor de reglas: Datos de usuario → Variable → departamento → Es por expresión regular → ^sales$
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.
Ejemplos
- ^[dcr][ao][gt]$
- Coincidirá con los términos "perro" "gato" "rata" y "trapo"
- El primer carácter debe ser d, c o r; el segundo carácter debe ser a u o, y el tercer carácter debe ser g o t
- ^[a-z][0-9]$
- El primer carácter debe ser de la letra a a la z, en minúsculas, y el segundo carácter debe ser de 0 a 9
Repeticiones
{3} y {#,#} se pueden utilizar para evitar tener que escribir los mismos patrones repetidamente sucesivamente dentro de un Regex.
Ejemplos
- ^[a-z]{3}$
- Coincidirá con tres letras minúsculas consecutivas, como "adf" o "kzd"
- ^[a-z]{1,3}$
- Coincidirá con al menos uno y como máximo tres de los caracteres anteriores, como "a", "am" y "abc", pero no con "duct".
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.
Ejemplos
- ^.*$
- Coincidirá con cero o más caracteres y es útil para añadir al principio y al final de un Regex (especialmente dentro de las extensiones) porque solo nos interesa coincidir con los subdominios.
- ^a+b*c+$
- Coincidirá porque el + especifica que al menos uno de los caracteres anteriores debe estar presente
Carácter de escape
La barra invertida \ denota que los caracteres que la siguen tienen un significado especial.
Ejemplos
- \.
- Representa un período y no un comodín
- \/, \$
- \d y \D
- Coincide con el carácter dígito\no carácter no dígito
- \s y \S
- Coincide con el carácter espacio en blanco\no carácter sin espacio en blanco
- \w y \W
- Coincide con caracteres alfanuméricos\caracteres no alfanuméricos
Carácter de exclusión
Cuando está dentro de [] ^ puede indicar que el carácter no debe estar presente en la cadena de destino.
Ejemplos
- ^[^abc]$
- Coincidirá con cualquier carácter que no sea a, b o c
- ^[^n-p]$
- Coincidirá con cualquier carácter que no sea n, o o p
- ^\w[^og]{2}$
- Coincidirá con abeja y mar, pero no con oro, puerta, neblina, etc.
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.
Ejemplos
- ^.*eu1\.visual\.force\.com\/(?!Console).*$
La tubería
| es el operador lógico "OR" en expresiones regulares y especifica que una cadena de destino puede coincidir con varios patrones.
Ejemplos
- ^.*ctmstech\.roche\.com/eclinical.*|.*ctms-performance\.roche\.com.*|.*siebelctmsqa\.kau\.roche\.com.*$
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 |
Ejemplos
- URL de ejemplo: https://app.test.site.com/?cId=12345&pId=67890&r=/p/67890?tab=2&prId=asdf
Uso de ChatGPT para Regex en WalkMe