Um programador deseja fazer uma busca em uma String utilizando Expressões Regulares na linguagem Javascript. Dada uma String texto, ele deseja verificar a posição da String em que são encontrados três dígitos, seguidos de um espaço em branco (whitespace), seguidos de pelo menos um caractere a. Para tal, ele pode escrever a linha de código
Alet indice = texto.search(/3\d\sa*/);
Blet indice = texto.search(/000\sa+/);
Clet indice = texto.search(/000_a*/);
Dlet indice = texto.search(/\d\d\d_a*/);
Elet indice = texto.search(/\d\d\d\sa+/);
Revelar gabarito e comentário▾
GabaritoE — let indice = texto.search(/\d\d\d\sa+/);
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Expressões Regulares em JavaScript – método search()
Gabarito: letra E. A expressão regular correta para encontrar a posição de três dígitos seguidos de um espaço em branco e pelo menos um caractere 'a' é let indice = texto.search(/\d\d\d\sa+/). A regex \d\d\d captura exatamente três dígitos, \s captura um espaço em branco, e a+ captura um ou mais caracteres 'a'. O método search() retorna o índice da primeira ocorrência do padrão na string.
Alternativa A — ❌ Incorreta
/3\d\sa*/ — Começa com o caractere literal '3' em vez de três dígitos. Além disso, a* permite zero ocorrências de 'a', contrariando o requisito de "pelo menos um caractere a". Erro duplo: uso de literal e quantificador errado.
Alternativa B — ❌ Incorreta
/000\sa+/ — Utiliza '000' literal, o que só corresponderia à string exata "000", e não a quaisquer três dígitos. O quantificador a+ está correto, mas o início está errado.
Alternativa C — ❌ Incorreta
/000_a*/ — Novamente '000' literal. O sublinhado _ não é um metacaractere para whitespace; corresponde ao caractere literal sublinhado. a* também permite zero 'a'. Múltiplos erros.
Alternativa D — ❌ Incorreta
/\d\d\d_a*/ — Reconhece três dígitos (\d\d\d), mas usa sublinhado _ em vez de \s para o espaço. O a* permite zero 'a'. Erro no espaço e no quantificador.
Alternativa E — ✅ Correta ⟵ GABARITO
/\d\d\d\sa+/ — Exatamente o padrão pedido: \d\d\d (três dígitos), \s (um espaço em branco), a+ (pelo menos um 'a'). A regex é eficiente e retorna o índice da primeira ocorrência através do método search().
PEGA ESSA DICA!
Em regex, \d equivale a qualquer dígito (0-9). \s representa qualquer caractere de espaço em branco (espaço, tabulação, etc.). O quantificador + significa "um ou mais", enquanto * significa "zero ou mais". Sempre verifique a diferença entre eles para atender aos requisitos de quantidade mínima.