Skip to main content

Expressão regular não funciona em script

  • February 9, 2024
  • 2 comentários
  • 47 Visualizações

Olá, pessoal.

Tenho um script no meio do fluxo para validar algumas expressões regulares.
No VSCode funciona tudo certo, mas no bot o test sempre dá falso.
Abaixo o código:
VSCode
 

Blip:

 


Alguém sabe qual o motivo? Podem me dar uma luz?

Este tópico foi fechado para respostas.

2 comentários

Alef_Moraesf
Forum|alt.badge.img+2
  • Inspiring
  • 142 comentários
  • February 10, 2024

Oie, @RafaelR!
Blip não interpreta algumas funções assim, principalmente com REGEX…
Modificamos a estrutura pra ficar funcional.

Cola aqui o código pra gente ver se faz uma versão funcional para você


  • Autor
  • New Member
  • 1 comentário
  • February 13, 2024

function run(inputContent) {

    try{

        const regexTable = {

            "saudacao" : /^(oi+e?|[óo]la+h?|h?e[iy]|o[uw]|hel?o[uw]?|hi)$/gmi,

            "voltar ao inicio" : /(voltar?)(.)*(in[íi]cio|come[çc]o|menu\s*principal)|^(in[íi]cio|come[çc]o|menu\s*principal)$/gmi,

            "voltar ao menu anterior" : /^(voltar?)$|(voltar?)(.)*(menu\s*anterior?|tr[áa][sz]|[úu]ltimo)/gmi,

            "atendimento" : /(atendimento|atender|atendente|pessoa|h?umano|e[sx]pecialista|algu[ée]m)/gmi,

            "despedida": /(sair)|(finalizar?|terminar?|acabar?)(.)*(fluxo|conversa)/gmi

        }

        

        for(let key in regexTable){

            if(regexTable[key].test(inputContent))

            {

                let globalRegex = {

                    "match" : "true",

                    "regexKey" : key,

                }

                return globalRegex;

            }

        }

        let globalRegex = {

                    "match" : "false"

                }

        return globalRegex;

    }catch(ex){

        return ex;

        let globalRegex = {

                    "match" : "fail"

                }

        return globalRegex;

    }

}