Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

163
Visualizações
Mejora del rendimiento de expresiones regulares

Tengo el siguiente código Regex que tarda mucho (más de 30 segundos) en validar direcciones URL grandes:

 let validReg = new RegExp('^(https?:\\/\\/)?'+ // protocol '((([az\\d]([az\\d-]*[az\\d])*)\\.)+[az]{2,}|'+ // domain name '((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address '(\\:\\d+)?(\\/[-az\\d%_.~+]*)*'+ // port and path '(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string '(\\#[-az\\d_]*)?$','i'); let isValid = validReg.test(component.repository_url);

¿Cómo puedo cambiar este código para validar el mismo Regex de manera más eficiente?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debe refactorizar la parte en la que coincide con caracteres de palabras separados por guiones: [az\\d]([az\\d-]*[az\\d])* => [az\\d]+(?:-+[az\\d]+)* .

Además, tenga en cuenta que no necesita escapar / caracteres, no son metacaracteres especiales de expresiones regulares, y no está utilizando un literal de expresiones regulares.

Puedes utilizar

 let validReg = new RegExp('^(https?://)?'+ // protocol '((([az\\d]+(?:-+[az\\d]+)*)\\.)+[az]{2,}|'+ // domain name '((\\d{1,3}\\.){3}\\d{1,3}))'+ // OR ip (v4) address '(:\\d+)?(/[-az\\d%_.~+]*)*'+ // port and path '(\\?[;&a-z\\d%_.~+=-]*)?'+ // query string '(#[-az\\d_]*)?$','i'); let isValid = validReg.test(component.repository_url);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda