Qual a forma correta de se fazer uma substituição regular em JavaScript para todas as ocorrências encontradas?

Em JavaScript, a forma correta de fazer uma substituição regular para todas as ocorrências encontradas é usando a flag global (g) juntamente com uma expressão regular. Por exemplo:

const texto = "Olá, olá, olá!";
const novoTexto = texto.replace(/olá/gi, "Oi");
console.log(novoTexto);

Nesse exemplo, a expressão regular /olá/gi é usada como o primeiro argumento do método replace(). A flag g significa “global”, indicando que todas as ocorrências devem ser substituídas. A flag i significa “ignore case”, indicando que a substituição é insensível a maiúsculas e minúsculas.

Dessa forma, todas as ocorrências da palavra “olá” no texto serão substituídas por “Oi”. O resultado impresso no console será: “Oi, Oi, Oi!”.

É importante ressaltar que apenas a primeira ocorrência será substituída se não utilizar a flag global. Portanto, é necessário utilizar a flag g para substituir todas as ocorrências.