Em relação às classes de caracteres POSIX das Expressões Reg...

Próximas questões
Com base no mesmo assunto
Q635326 Sistemas Operacionais

Em relação às classes de caracteres POSIX das Expressões Regulares, associe a segunda coluna de acordo com a primeira e, a seguir, assinale a alternativa com a sequência correta.


 Classe POSIX                   Similar    

1. [:alnum:]                       ( ) [A-Za-z0-9]

2. [:xdigit:]                        ( ) [[0-9A-Fa-f]

3. [:space:]                        ( ) [ \t]

4. [:digit:]

5. [:blank:]

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é A - 1-2-5.

Vamos entender o tema da questão e o porquê dessa alternativa ser a correta. A questão aborda as classes de caracteres POSIX dentro do contexto de Expressões Regulares no Linux. As expressões regulares são poderosas ferramentas de busca e são amplamente usadas em scripts de shell, editores de texto e comandos de linha, como grep.

Classes de caracteres POSIX são uma forma de definir conjuntos de caracteres que compartilham características comuns, tornando as expressões regulares mais legíveis e portáveis. Agora, vamos associar cada classe POSIX na questão com suas equivalências:

  • [:alnum:] - Esta classe corresponde a todos os caracteres alfanuméricos, ou seja, letras e dígitos. Equivale a [A-Za-z0-9].
  • [:xdigit:] - Esta classe abrange todos os caracteres hexadecimais, que incluem os dígitos de 0 a 9 e as letras de A a F (maiúsculas e minúsculas). Equivale a [0-9A-Fa-f].
  • [:space:] - Refere-se a todos os caracteres de espaço em branco, incluindo espaços, tabulações e quebras de linha. Uma versão simplificada é [ \t], mas geralmente inclui mais do que apenas esses dois caracteres.
  • [:digit:] - Corresponde exclusivamente aos dígitos de 0 a 9. Equivale a [0-9].
  • [:blank:] - Esta classe se refere especificamente a espaços e tabulações. Equivale aproximadamente a [ \t].

Agora, analisando a alternativa A - 1-2-5:

  1. 1-[:alnum:] corresponde a [A-Za-z0-9].
  2. 2-[:xdigit:] se relaciona com [0-9A-Fa-f].
  3. 5-[:blank:] está associado a [ \t].

Portanto, a sequência correta é realmente 1-2-5, justificando o gabarito.

Vamos analisar brevemente as alternativas incorretas:

  • B - 4 - 1 - 5: Associa 4-[:digit:] ao lugar errado, pois [:digit:] não corresponde à primeira posição.
  • C - 1 - 4 - 3: Mistura [:digit:] na segunda posição, que está incorreto.
  • D - 2 - 1 - 5: Embora pareça similar, ela troca a ordem entre as duas primeiras classes.
  • E - 2 - 4 - 3: Coloca [:digit:] na posição errada e a terceira classe não é [:space:] como esperado.

Por isso, a alternativa A está correta e bem justificada, com a sequência correta das classes e suas equivalências.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

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

Alternativa correta: a) Alfanuméricos (letras e números), hexadecimais, espaço e tabulação

 

POSIX Description ASCII Unicode Shorthand Java

[:alnum:]Alphanumeric characters[a-zA-Z0-9][\p{L}\p{Nl}
 \p{Nd}]\p{Alnum}

[:alpha:]Alphabetic characters[a-zA-Z]\p{L}\p{Nl}\p{Alpha}

[:ascii:]ASCII characters[\x00-\x7F]\p{InBasicLatin}\p{ASCII}

[:blank:]Space and tab[ \t][\p{Zs}\t]\h\p{Blank}

[:cntrl:]Control characters[\x00-\x1F\x7F]\p{Cc}\p{Cntrl}

[:digit:]Digits[0-9]\p{Nd}\d\p{Digit}

[:graph:]Visible characters (anything except spaces and control characters)[\x21-\x7E][^\p{Z}\p{C}]\p{Graph}

[:lower:]Lowercase letters[a-z]\p{Ll}\l\p{Lower}

[:print:]Visible characters and spaces (anything except control characters)[\x20-\x7E]\P{C}\p{Print}

[:punct:]Punctuation and symbols.[!"\#$%&'()*+,
\-./:;?@\[
\\\]^_`{|}~]\p{P}\p{Punct}

[:space:]All whitespace characters, including line breaks[ \t\r\n\v\f][\p{Z}\t\r\n\v\f]\s\p{Space}

[:upper:]Uppercase letters[A-Z]\p{Lu}\u\p{Upper}

[:word:]Word characters (letters, numbers and underscores)[A-Za-z0-9_][\p{L}\p{Nl}
 \p{Nd}\p{Pc}]\w

[:xdigit:]Hexadecimal digits[A-Fa-f0-9][A-Fa-f0-9]\p{XDigit}

Fonte: http://www.regular-expressions.info/posixbrackets.html

alnum = numeros + letras

xdigit = hexadecimais

space = caracteres nao imprimiveis -- \\s

digit = numero

blank = espaço em branco (espaço e tabulação)

http://www.bosontreinamentos.com.br/linux/certificacao-lpic-1/expressoes-regulares-02-classes-de-caracteres-e-conjuntos-posix-linux/

Clique para visualizar este comentário

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