Expressão regular aprimorada para URLs correspondentes
Ao tentar detectar e analisar URLs a partir da entrada do usuário, é crucial usar uma expressão regular eficaz. No seu caso, embora sua expressão atual capture alguns formatos de URL, ela não leva em conta URLs que não possuem um esquema de protocolo explícito, como www.google.com.
Expressão regular revisada
Para resolver esse problema e garantir uma correspondência abrangente de URL, considere usar o seguinte código regular revisado expressão:
^(?=\S{1,255}$)(https?://)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)
Anatomia do Regex
Esta expressão regular revisada é menos restritiva e corresponderá com sucesso a URLs como www.google.com, bem como aqueles com protocolos explícitos (por exemplo, http://www.stackoverflow.com).
Exemplo de implementação (JavaScript)
const regex = new RegExp(/(?=\S{1,255}$)(https?://)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)g); const url = 'www.google.com'; if (url.match(regex)) { console.log("URL successfully matched."); } else { console.log("URL did not match."); }
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3