Regex para extrair texto multilinha entre duas tags em JavaScript
Você está enfrentando desafios ao extrair texto de uma string HTML usando um padrão regex . Especificamente, o sinalizador multilinha (/m) não parece estar funcionando quando há novas linhas no HTML.
Para resolver esse problema, você precisa utilizar o modificador "/.../s", comumente referido como modificador "dotall". No entanto, é importante observar que esse modificador não existe no JavaScript vanilla.
Soluções alternativas sem o modificador Dotall:
Se você não puder usar o sinalizador /s em seu ambiente JavaScript atual, considere uma solução alternativa usando uma classe de caracteres que inclua caracteres de espaço em branco e não-espaço em branco:
[\s\S]
No seu caso, a regex ficaria assim :
/<div>
JavaScript moderno: suporte ao modificador Dotall
Em ambientes JavaScript modernos que suportam ES2018, você pode usar diretamente o " /s" (pontoTodos). Este sinalizador faz com que o caractere ponto (.) no regex também corresponda aos caracteres de nova linha.
Portanto, seu regex original pode ser reescrito usando o sinalizador /s:
/<div>
Usando o modificador dotall (/s) ou sua solução alternativa ([\s\S]), você pode garantir que seu padrão regex corresponda com êxito ao texto multilinha entre as tags HTML especificadas, mesmo quando houver novas linhas dentro desse texto.
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