Expressão regular não funciona em script


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?


2 comentários

Reputação 4
Crachá +2

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ê

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;

    }

}

Comente