Expressões Regulares fornecer o programador com ferramentas poderosas para análise de texto e manipulação. Encontrado em toda parte de validação de formulário e-commerce de altas apostas litígio - onde advogados procurar combinações de palavras em mensagens de e-mail que se somam a "culpado" - expressões regulares pertencem na caixa de ferramentas de cada programador. Infelizmente, a sua sintaxe arcano permanece como uma barreira para muitos usuários que poderiam se beneficiar deles. Um possível uso é a digitalização de um texto para a Universal Resource Locator , conhecida coloquialmente como endereços da web . A linguagem de programação Python realiza esta tarefa em apenas algumas linhas de código. Coisas que você precisa
Python 2.6 ou superior, com o ambiente de desenvolvimento integrado IDLE
arquivo de texto para testar
Show Mais instruções
um
Abrir ocioso e criar um arquivo de texto de teste , copiando e colando um texto aleatório no arquivo junto com algumas URLs . Salve o arquivo como Testtext.txt para o diretório que aparece na caixa de diálogo salvar , assim você não precisa se preocupar com caminhos entre o interpretador Python e esse arquivo .
2
Ir para o principal IDLE janela e digite
>>>> import re
no prompt do Python. Isso carrega mecanismo de expressões regulares do Python
3
Leia o texto de teste em Python e mantê-lo na memória com os seguintes comandos: .
>>> TestText = open (' OCB_1.txt ')
>>> raw = TestText.read ()
OCB_1.txt é o nome do meu arquivo de teste - um copiar e colar de Ambrose Bierce do " Incidente na Ponte de Owl Creek ", com algumas URLs colados dentro Nos comandos acima , o arquivo de texto é aberto e atribuído ao testText variável , que é então lido na memória com a matéria variável atribuída
.
4
pré- compilar a expressão regular , a fim de acelerar o processo de análise. Isto é especialmente útil ao lidar com grandes arquivos de texto. Digite os seguintes comandos no prompt do Python:
>>> pattobj = re.compile (' https ://( [- \\ w \\. ] + ) + ( : \\ D +) ? ( /( [ \\ w /_ \\. ] * ( \\? \\ S +) ? ) ? ) ? ')
5
Chamar o método findall digitando o comando relevante regex juntamente com a variável referente para o texto na memória : .
findallobj = pattobj.findall ( bruto)
Isto cria uma nova variável , findallobj , que contém os padrões gerados pelo regex
6
Mostrar a URL do regex encontrado com o comando print :
print ( findallobj )
a saída é algo como isto:
[( ' www.sjca . edu ' ), (' www.cantlers.com /index.shtml ') ]