Expressões regulares
Gabarito: letra E — todas as afirmações (I, II, III e IV) estão corretas. A questão cobra conceitos fundamentais sobre expressões regulares, desde sua origem teórica até aplicações práticas, sem nenhuma armadilha ou exceção.
Item I — ✅ Correto
Expressões regulares descrevem exatamente a classe das linguagens regulares, que é a mais simples na Hierarquia de Chomsky (linguagens reconhecidas por autômatos finitos). Essa é a definição clássica da Teoria da Computação.
Item II — ✅ Correto
Os parênteses em expressões regulares têm a função de agrupar subexpressões e alterar a precedência ou associatividade dos operadores, exatamente como em expressões aritméticas. Por exemplo, (ab)+ significa uma ou mais repetições da string "ab", enquanto ab+ significaria "a" seguido de um ou mais "b".
Item III — ✅ Correto
A notação de expressões regulares foi introduzida por Stephen Kleene na década de 1950 para descrever conjuntos regulares, formalizando conceitos de linguagens formais.
Item IV — ✅ Correto
Expressões regulares são amplamente usadas em várias áreas: especificação de lexemas em linguagens de programação, validação de entrada (e-mail, CPF), busca e substituição em editores de texto (Notepad++, VS Code), ferramentas de linha de comando (grep, sed, awk), bancos de dados (LIKE, regex em SQL) e linguagens de programação (Python, JavaScript, Java, etc.).
Conclusão: Sendo todas as afirmativas verdadeiras, a alternativa que contém apenas afirmações corretas é a letra E.