O que são os símbolos de intercalação e as classes de equivalência usadas?

4

Do manual do grep, sobre expressões regulares estendidas ele usa

‘[.’ represents the open collating symbol.
‘.]’ represents the close collating symbol.
‘[=’ represents the open equivalence class.
‘=]’ represents the close equivalence class.

O que são os símbolos de intercalação e as classes de equivalência usadas?

Como eles são usados?

Obrigado.

    
por Tim 16.02.2017 / 03:25

1 resposta

6

Símbolos de agrupamento e classes de equivalência são usados nas definições de código de idioma para codificar informações complexas de ordenação. POSIX tem os detalhes, mas em resumo:

  • um símbolo de intercalação representa um conjunto de caracteres que são considerados como uma única unidade para fins de classificação (classificação); por exemplo, "ch" / "Ch" ou "ss" (estes são válidos apenas em locais que os definem);
  • uma classe de equivalência agrupa caracteres que são equivalentes para fins de agrupamento; por exemplo, "a" e "à" (e outras variantes acentuadas).

Eles podem ser usados em expressões de colchetes RE colocando-os com [. / .] e [= / =] respectivamente. Continuando com os exemplos fornecidos acima, [.ch.] é o símbolo de classificação "ch" e [=a=] representa a classe de equivalência correspondente (portanto, em códigos de idioma apropriados é equivalente a [aªáàâãäå...] ).

    
por 16.02.2017 / 11:35