
Índice
Este Apêndice contém uma breve mas suficiente introdução sobre o mundo das expressões regulares. Ele documenta expressões regulares na forma disponível dentro do KatePart, que não é compatível com as expressões regulares do Perl, ou de outros comandos como o grep.
As Expressões Regulares nos fornecem uma maneira de descrever alguns possíveis conteúdos de uma string de texto, de modo a ser entendido por um pedaço de software, e assim, ele pode investigar se um texto combina, e também no caso de aplicativos avançados, com o objetivo de salvar pedaços ou o texto que combina com a busca.
Um exemplo. Digamos que você deseja buscar, em um texto, por parágrafos que iniciam com um desses nomes: “Henrik” ou“Pernille ”, seguido por alguma forma do verbo “dizer”.
Com uma pesquisa normal, você iria começar a procurar pelo primeiro nome, “Henrique”, sendo talvez seguido de “di”, como o seguinte: Henrique di
e, enquanto procura por ocorrências, iria ignorar os que não se encontram no início de um parágrafo, assim como os que têm uma palavra que começa por “di” que não é “diz”, “disse” ou algo do gênero. Claro, e ainda ter que repetir isto com o próximo nome...
Com as Expressões Regulares, aquela tarefa poderia ser cumprida com uma única busca, e com um grau maior de precisão.
Para obter isto, as Expressões Regulares definem regras para expressar em detalhes uma generalização de uma string que será procurada. Podemos literalmente expressar nosso exemplo assim: “ Uma linha iniciada com ‘Henrik’ ou ‘Pernille’ (possivelmente seguido por 4 caracteres em branco ou tabs) seguido por um espaço em branco, seguido por um ‘di’ e então, um ‘iz’ ou ‘sse’”, que poderia ser colocado na seguinte expressão regular:
^[ \t]{0,4}(Henrik|Pernille) di(sse|z)
O exemplo anterior demonstra todos os quatro conceitos principais das Expressões Regulares modernas, chamados:
Padrões
Afirmações
Quantificadores
Referências para trás
O acento circunflexo (^
) no início da expressão é uma afirmação, sendo verdade somente se a string relacionada estiver no início de uma linha.
As strings [ \t]
e (Henrik|Pernille) di(sse|z)
são padrões. A primeira é uma classe de caractere que combina ou com um espaço em branco ou com um caractere de tabulação (horizontal); o outro padrão contém primeiramente um subpadrão que combina ou com Henrik
ou com Pernille
. Em seguida, vem um pedaço que corresponde exatamente com a string di
e, finalmente segue um subpadrão que combina com sse
ou com z
.
A string {0,4}
é um quantificado dizendo “qualquer número de 0 até 4 da string anterior”.
Por causa do suporte ao conceito de referência para trás das expressões regulares, é economizado uma parte inteira combinada da string, bem como os subpadrões incluídos em parênteses; fornecidos alguns tipos de acesso para aquelas referências, podemos obter nossos meios de encontrar a string inteira (ao se procurar um documento de texto em um editor com uma expressão regular, o que é marcado frequentemente) ou o nome encontrado, ou a última parte do verbo.
Toda junta, a expressão procurará o que você desejar que ela procure, e somente ali.
As seções seguintes descreverão em detalhes como construir e usar padrões, classes de caracteres, afirmações, quantificadores e referências para trás, e a seção final fornecerá alguns exemplos úteis.