Pessoas bom dia, boa tarde ou boa noite!
Afim de compartilhar conhecimento, trago-lhes uma maneira interessante de trabalhar com arquivos de texto muito grande, onde a necessidade seja encontrar palavras-chaves ou padrões dentro do texto:
– Expressões Regulares:
Sei que muitos já ouviram falar, outros já até utilizaram ( normalmente CTRL + C e CTRL + V do StackOverflow ) e os demais que nunca, ou nem sabem o significado de Expressão Regular, segue o significado de Expressão Regular, extraído com todo orgulho do Wikipédia:
Em ciência da computação, uma expressão regular (ou os estrangeirismos regex ou regexp , abreviação do inglês regular expression) provê uma forma concisa e flexível de identificar cadeias de caracteres de interesse, como caracteres particulares, palavras ou padrões de caracteres. Expressões regulares são escritas numa linguagem formal que pode ser interpretada por um processador de expressão regular, um programa que serve um gerador de analisador sintático ou examina o texto e identifica as partes que casam com a especificação dada.
Caso não tenha ficado claro, acompanhe a seguinte tirinha:
Com isso podemos notar que REGEx utiliza um padrão de nomenclatura previamente definido para sua correta utilização, uma vez que você aprende a “falar em REGEx” , você se torna capaz de pesquisar qualquer coisa em um grande volume de texto \o/, com isso é interessante saber as principais regras do REGEx:
1 – Existem três partes importantes para uma expressão regular.
1 – 1 -> As âncoras – São usadas para especificar a posição do padrão em relação a uma linha de texto.
2 – 1 -> Conjuntos de caracteres -> Combinam um ou mais caracteres em uma única posição.
3 – 1 -> Os modificadores -> Especificam quantas vezes o conjunto de caracteres anterior é repetido. Um exemplo simples que demonstra as três partes é a expressão regular “^#*”. A seta para cima é uma âncora que indica o início da linha, o caractere “#” é um conjunto de carácter simples que corresponde ao caractere único “#”, e o asterisco é um modificador, sendo que , em uma expressão regular, ele especifica que o conjunto de caracteres anterior pode aparecer qualquer número de vezes, incluindo zero vezes.
Dito isso, segue um pequeno quadro com as principais Ancoras e modificadores e seus exemplos:
Expressões | Seus “Matchs” |
_ | |
* | Qualquer asterisco |
\* | Qualquer linha com um asterisco |
\\ | Qualquer linha com uma barra invertida |
^* | Qualquer linha que comece com um asterisco |
^A* | Qualquer linha |
^A\* | Qualquer linha que comece com um “A*” |
^AA* | Qualquer linha que comece com um “A” |
^AA*B | Qualquer linha com um ou mais “A” seguido de um “B” |
^A\{4,8\}B | Qualquer linha que comece com 4, 5, 6, 7 ou 8 “A” Seguido por um “B” |
^A\{4,\}B | Qualquer linha que comece com 4 ou mais “A” Seguido por um “B” |
^A\{4\}B | Qualquer linha que comece com “AAAAB” |
\{4,8\} | Qualquer linha com “{4,8}” |
A{4,8} | Qualquer linha com “A {4,8}” |
Bem pessoal, então é isso, compartilhei por perceber o quanto é trabalhoso mexer com textos imensos ( Dados em Geral ).
Vale ressaltar que todas as principais ferramentas de texto dão suporte ao REGEx, como o Notepad ++, Sublime, Eclipse e Excel 🙂