Bom dia! No primeiro vídeo de expressões regulares e javascript foi mostrado um arquivo html contendo somente as tags html e script, onde é criado um objeto regexp que interage com uma string alvo, e tem seu resultado impresso pelo console.log dentro de um while. Eu tentei fazer com que a variável alvo recebesse seu valor através de um querySelector (coloquei um console.log pra ver se essa parte tinha dado certo) puxando de uma span do body do arquivo, achei que não tinha rodado porque não tinha um botão pra isso, depois de clicar no botão só imprime o primeiro console.log o resto do código não roda. Gostaria de entender isso melhor, se puderem ajudar ficarei muito grato.
<html>
<head><title>ops</title></head>
<body>
<span id="id">9:51 20-4-18</span>
<button onClick="run()">
<script>
function run(){
var alvo = document.querySelector("#id");
console.log(alvo);
var exp = new RegExp('(51)', 'g');
var resultado = null;
while (resultado = exp.exec(alvo)){
console.log(resultado);
}
}
</script>
</body>
</html>