Índice Anterior Próxima

Metacaracteres modernosos

Está gostando da leitura? Está aprendendo? Compre o livro novo que traz mais conteúdo, texto atualizado e ilustrações!

Bem, tem gente que não sossega mesmo.

Talvez até pelo fato de ser gostoso brincar com ERs, com o passar do tempo, desenvolveu-se uma tendência de "ERs são a solução da fome mundial, elas têm de fazer tudo", e o conceito foi maculado. Hoje, além de simplesmente casar um trecho de texto, criaram conceitos como:

E como tudo isso exige vários metacaracteres novos, alguns compostos de até cinco caracteres, exceto o conteúdo, as ERs ficaram muito feias e complexas, exercendo funções que a linguagem de programação deveria fazer, como condicionais, atrelamentos e definição de variáveis.

Daí, para tentar domar o monstro ilegível que eles próprios criaram (como "eles", entenda Perl e Python), agora temos também:

Pela mãe do guarda! É o progresso, daqui a pouco teremos ERs executáveis, ERs orientadas a objeto, ERs com botões e janelas, jogos 3D multijogadores pela Internet feitos somente com ERs...

Tá, não vou reclamar mais. Que fique aqui registrado meu protesto contra essa generalização das expressões regulares, já que elas não podem se defender.

Como Perl e Python estão ditando o rumo das ERs, e essas "novidades" tendem a virar padrão em todos os outros aplicativos, vamos conhecê-los. Primeiramente, todos esses metacaracteres novos só foram possíveis, pois as ERs têm certas brechas em construções antes impossíveis, que agora viraram a base para criações novas. Aqui está:

(?...)

Esta era uma estrutura inválida, pois você não pode tornar opcional a abertura de um grupo. Então, usá-la não teria problemas de compatibilidade, pois ainda não existia, foi esta a escolhida. Então os metacaracteres novos têm a estrutura:

(?<identificador><conteúdo>)

Onde identificador é o que realmente diz com que tipo de metacaractere estamos lidando, e conteúdo é o que será manipulado por esse metacaractere, e pode ser texto normal, outros metacaracteres, opções e até códigos de linguagem externa. Vamos utilizar os personagens amarelos como nossas cobaias de testes.


Índice Anterior Próxima