Comprobación del formato de los datos introducidos por el usuario del bot| Ranura Expresión regular
Last updated
Last updated
La Ranura de Expresión Regular es una Ranura que permite comprobar si el contenido de la Variable de Contexto client_message cumple con el formato especificado por una expresión regular, y, dependiendo de la coincidencia, moverse a la Rama de Script apropiada.
Una Ranura de Expresión Regular es una Ranura Compleja y no puede existir sin sus Subranuras de botón, que inicia su propia Rama de Script, a la que se ramificará después de que el mensaje haya sido comprobado con la expresión regular.
La ranura de expresión regular procesa el contenido de la variable de contexto client_message sin cambios o convertido a minúsculas, dependiendo de si la opción Mensaje de origen en minúsculas está activada en la ranura.
Nombre - el nombre de la Ranura, que se mostrará en el Árbol de Escenarios. La longitud máxima de un valor de campo es de 40 caracteres.
Opción de mensaje fuente en minúsculas - una opción que, cuando está activada, convertirá el mensaje en client_message a minúsculas.
Recorte de espacios: al pulsar el botón CREAR (al crear una Ranura) o GUARDAR (al editar una Ranura), se recortan los espacios y saltos de línea al principio y al final del campo Expresión.
Al crear una ranura de expresión regular, se generan automáticamente dos subranuras de botón con los valores "verdadero" y "falso".
Estas Subslots no pueden modificarse y sólo pueden eliminarse con una Slot de Expresión Regular padre.
La ubicación de las subslots se determina automáticamente; las subslots no se pueden mover:
La sub-ranura resultante con el valor "false" es siempre la sub-ranura superior en esta compleja ranura de expresión regular (si la línea no coincide con la expresión regular, entonces no tiene sentido seguir comprobando si la rama Script de esta sub-ranura será emitida - ver Funcionamiento de la ranura);
La sub-ranura resultante con el valor "true" es siempre la sub-ranura inferior de una determinada ranura de expresión regular.
Para crear una nueva subranura de resultados, debe hacer clic en el botón +;
En Subslot debe introducir el valor requerido. Puede ser cualquier cadena formada por números, letras y símbolos.
Cuando el usuario cree nuevas subcuadrículas de resultados que contengan el valor exacto, se situarán entre las subcuadrículas "verdadero" y "falso" de arriba a abajo en el orden en que fueron creadas.
Cuando se comprueba un valor exacto, los caracteres ' y \ en la Subslot de resultado deben ser escapados: deben estar precedidos por un carácter , de lo contrario la Validación de Script no tendrá éxito y el Agente no será entrenado. Más información: Requisitos para entrenar con éxito a un Agente.
Para eliminar una sub-rama de resultados, debe hacer clic con el botón derecho del ratón sobre ella y pulsar el botón Eliminar rama, después haga clic en Aceptar en el cuadro de diálogo emergente.
Sólo es posible eliminar las subcuadrículas de resultados creadas manualmente.
No es posible eliminar las subcuadrículas de resultados generadas automáticamente con valores verdaderos y falsos. Cuando intente hacerlo, aparecerá el siguiente error en la parte inferior central:
Nombre - el nombre de la Ranura, que se mostrará en el Árbol de Script. La longitud máxima de un valor de campo es de 40 caracteres. Si no se introduce ningún nombre, la subranura del árbol de guiones mostrará los 34 primeros caracteres del campo Valor.
Valor - la cadena con la que se comparará el valor de la Variable de Contexto client_message.
La ranura debe contener una expresión regular de Python. Ejemplos de expresiones regulares utilizadas habitualmente en los Agentes:
Sólo números:
^[\d]+$
Sólo letras latinas, números, guiones
^([A-Za-z0-9-]+)$
Correo electrónico
[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+
URL
(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\ b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)
Buscar una de las subcadenas de una cadena
.*(substring1|substring2).*
Importante: No es posible utilizar máscaras en la ranura de expresiones regulares.
El Agente hace una copia del contenido de la Variable de Contexto client_message.
Si la opción Mensaje fuente en minúsculas está activada en el Slot, el valor de client_message se convierte a minúsculas. Si la opción está desactivada, el valor permanece inalterado.
Se comprueba que el valor resultante cumple la expresión regular especificada en la ranura Expresión regular. El resultado de la comprobación puede ser:
false - el valor de client_message no coincide con la expresión regular,
esto creará un error de Variables de Contexto del Sistema que contendrá el texto del error.
true - el valor de la variable de contexto client_message coincide con la expresión regular
En este caso, se creará la variable de contexto parse_result, donde se escribirá la parte de client_message correspondiente a la expresión regular, incl. puede ser todo el contenido de client_message;
si hay varias subcadenas en client_message que coinciden con la expresión regular, la primera subcadena correspondiente se escribirá en la variable de contexto parse_result;
Salida de la ranura compleja Ranura de expresión regular + resultado: el resultado de la comprobación se compara secuencialmente de arriba abajo con los valores de las subranuras de resultado y se pasa a la rama de script correspondiente, realizándose las siguientes comprobaciones:
Falta de coincidencia de expresiones regulares: si el resultado de la prueba es falso, se realizará una transición a la rama Script del resultado de la sub-ranura superior con el valor "false";
Coincidir con el valor exacto: si el resultado de la prueba es verdadero y hay Subslots de resultados creados por el usuario para probar una coincidencia exacta, entonces se hará una transición a la Rama Script de la primera Subslot cuyo valor coincida con client_message;
Coincidencia de expresiones regulares: si el resultado de la prueba es verdadero y no hay subcuadrículas de resultados para comprobar una coincidencia exacta, o los valores en ellas no coinciden con el mensaje_cliente, entonces la rama de script de la subcuadrícula de resultados más baja con el valor "verdadero".
Expresión ー expresión regular. Artículo sobre expresiones regulares: