Eu já tinha ouvido falar, claro; eu até fazia ideia do que era; na verdade, já tinha até usado uma ou outra coisa simples em buscas. Talvez nem fossem expressões regulares, talvez conectores de expressões, "E" ou "AND", "OU" ou "OR", "$" e "*".
Mas hoje eu precisava de algo mais complexo: precisava encontrar, em um arquivo de texto .odt, tudo que estivesse entre parênteses e alterar o tamanho da fonte. Dava pra mudar no braço, mas o texto era longo, os parênteses inúmeros.
Então descobri que o LibreOffice aceita expressões regulares na função Search & Replace (Pesquisar e Substituir). Nesta página do manual (help) do LibreOffice deu para entender o básico. Mas foi neste bem escrito guia que eu consegui o que procurava.
Primeiro era necessário fazer o LibreOffice selecionar todos os parênteses e seu conteúdo -- números, espaços, palavras com maiúsculas e minúsculas.
Depois seria preciso substituir todo o conteúdo encontrado, sem efetuar qualquer modificação na substância, alterando apenas o tamanho da fonte.
Vou começar pelo fim e dizer que usei a seguinte expressão na caixa de busca (Search):
\([-0-9a-z ãõáéíóúâêôç/\.\,]+\)
para que o LibreOffice encontrasse (e selecionasse) todos os parênteses do texto com seu conteúdo.
Claro, várias dificuldades surgiram até chegar a esta expressão (que provavelmente não é a ideal -- tanto por poder ser simplificada ou aperfeiçoada:
- primeiro: era preciso fazer o programa entender que eu buscava algo entre parênteses. Ocorre que os ( ) (parênteses) fazem parte das expressões regulares (caracteres especiais usados como "coringas" em buscas). Então descobri que era necessário adicionar \ (backslash) na frente do parêntese de abertura e do de fechamento para que eles fossem entendidos literalmente, como parênteses e não como expressões regulares.
- segundo: precisava que todos os textos inseridos entre parênteses fossem reconhecidos, independente do seu tamanho ou conteúdo. Aí veio o resto daquele monstro: vamos decorticá-lo: os [ ] (colchetes) servem para dizer "qualquer um dos caracteres" dentro dos colchetes, ou seja (no meu exemplo): "-" (hífen); "0-9" (números de 0 a 9); "a-z" (letras de "a" a "z"); " " (espaço); "ãõáéíóúâêôç" (para encontrar esses caracteres especiais); a / (barra simples) para encontrar barras; os dois caracteres \. (barra invertida seguida de ponto) para encontrar os pontos (.) -- que por ser caractere especial, exige a barra invertida antes, à semelhança dos parênteses; e, por fim, o sinal "+" (mais) para indicar que esses caracteres poderiam ser repetidos de 0 a infinitas vezes.
Faltava, então, dizer ao LibreOffice que aqueles textos encontrados (entre parênteses) ;-) deveriam ser rescritos com fonte diferente.
O primeiro passo foi o uso da expressão regular
& (e comercial)
na caixa de substituição (Replace), que faz com que o texto encontrado pela busca seja repetido na hora da substituição.
Depois basta indicar os detalhes da fonte a ser usada, o que é feito facilmente, na própria caixa de diálogo de Localizar e Substituir (Search and Replace), através do botão "Mais Opções" (More Options) e, em seguida, "Format".
Pronto. Assim surgiu minha primeira expressão regular.
Nenhum comentário:
Postar um comentário