Expressões regulares são elementos de texto, palavras-chave ...

Próximas questões
Com base no mesmo assunto
Q2288754 Sistemas Operacionais
Expressões regulares são elementos de texto, palavras-chave e modificadores que formam um padrão usado para encontrar e, opcionalmente, alterar um padrão correspondente. Muitos programas suportam o uso de expressões regulares. O comando grep do Linux é o mais empregado para realizar buscas em arquivos e fluxos de texto. Sobre os caracteres com significado especial em expressões regulares utilizados no comando grep chamados operadores assinale a afirmativa correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: A alternativa correta é a Letra B - O acento circunflexo ^ representa o começo de uma linha.

As expressões regulares são uma ferramenta poderosa para manipulação de textos e dados. Elas permitem definir padrões para pesquisar, extrair e manipular strings de acordo com regras definidas. No contexto do comando grep do Linux, as expressões regulares são utilizadas para filtrar entradas de texto que correspondam ao padrão especificado.

O acentro circunflexo (^) é um metacaractere nas expressões regulares que, quando utilizado no início de um padrão, especifica que a correspondência deve ocorrer no começo da linha. Por exemplo, a expressão ^palavra irá encontrar 'palavra' apenas se ela aparecer no início de uma linha.

É importante não confundir os diferentes metacaracteres e seus significados em expressões regulares:

  • O asterisco (*) é utilizado para indicar que o caractere ou grupo anterior pode aparecer zero ou mais vezes.
  • Os colchetes ([]) são utilizados para definir um conjunto de caracteres dos quais qualquer um pode ser correspondido.
  • O sinal de interrogação (?) é utilizado para indicar que o caractere ou grupo anterior é opcional, podendo aparecer zero ou uma vez.

Portanto, a alternativa B é a única que apresenta uma descrição correta de um metacaractere em expressões regulares conforme seu uso no comando grep.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

EU ACHO que da pra anular esta questão devido a assertivas B e D estarem corretas, sendo que o ? em wildcards, refere-se a qualquer caracter

A. **O asterisco * representa o fim da linha.**

- Incorreta. O asterisco (*) em expressões regulares representa zero ou mais ocorrências do caractere ou grupo precedente, não o fim da linha.

B. **O acento circunflexo ^ representa o começo de uma linha.**

- Correta. O ^ em expressões regulares indica o início de uma linha. É usado para encontrar padrões no início de uma linha.

C. **Os colchetes [] indicam que o caractere anterior aparece zero ou uma vez.**

- Incorreta. Os colchetes [] são usados para criar classes de caracteres e indicam que qualquer caractere dentro dos colchetes pode ser correspondido uma vez.

D. **O sinal de interrogação ? é usado para indicar a presença de zero ou mais vezes de um caractere anterior.**

- Correta. O sinal de interrogação (?) em expressões regulares indica que o caractere ou grupo precedente é opcional, podendo aparecer zero ou uma vez, ou seja, zero ou mais vezes.

comeco de linha nao , e sim comeco da expressao

D é a mais correta

O caractere ? pode ser utilizado, no contexto abordado, como caractere coringa (wildcard) ou como expressão regular (metacaracter). Em ambos casos a interrogação tem papeis diferentes. O problema das alternativas combinadas é o comando da questão, que fala sobre expressões regulares. Quando a interrogação é um caractere coringa, de fato, seu significado está atrelado a indicar a presença de um ou mais caracteres obrigatórios (ex: texto.??? - significa que se espera uma extensão com obrigatoriamente 3 caracteres). Diferente disso, no caso das expressões regulares, a interrogação indica que o termo anterior pode aparecer zero ou uma vez, (ex: a?c = ac ou apenas c). Essa é, inclusive, a resposta da alternativa C.

A) O asterisco * representa o fim da linha.

O asterisco, como expressão regular, indica que o caractere anterior pode aparecer zero ou n vezes. (ex: a*c = c, ac, aac, aaac...)

Já o asterisco como caractere coringa indica que espera-se, na busca, qualquer coisa após. (ex: *.txt = arquivos de texto no formato txt que tenham qualquer nome).

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo