Mostrando como funciona expressão regular no Python

Expressões regulares para validar telefones, CEP e placas de veículos em Python.


Nesse post, irá mostrar expressões regulares para validar telefones, CEP e placas de veículos em Python.

Expressão regular Python

No Python não tem sintaxe literal para expressões regulares, as funções do modulo re aceitam uma String representando uma expressão regular.

Exemplo de expressão regular:

Primeiro validar um numero de telefone:

>>> import re
>>> telefone = re.compile('(d{2}) d{4,5}-d{4}')
>>> telefone.match('(49) 8437-6819')
<_sre.SRE_Match object; span=(0, 14), match='(49) 8437-6819'>
>>> telefone.match('(49) 8437-691') is None
True

O que cada linha de código faz?

Na primeira linha importa-se as funções do modulo “re”

>>> import re

Construa-se um objeto usando a função re.compile

>>> telefone = re.compile('(d{2}) d{4,5}-d{4}')

O objeto que foi devolvido acima tem métodos e recebe as funções do mesmo nome, usando o método match, confere o que foi se o que foi passado está batendo com a expressão regular.

>>> telefone.match('(49) 8437-6819')

Após isso aparece um retorno

<_sre.SRE_Match object; span=(0, 14), match='(49) 8437-6819'>

Isso mostra que o que foi passado para o método é compatível com a expressão regular.

No próximo teste coloca-se um número que não corresponde a expressão regular logo após informa-se is None que retorna True ou False.

>>> telefone.match('(49) 8437-691') is None

Nesse caso retorna True, relatando que a String informada não bate com a expressão regular.

Comparando CEP com expressão regular:

>>> cep = re.compile('d{5}-d{3}')
>>> cep.match('89900-000')
<_sre.SRE_Match object; span=(0, 9), match='89900-000'>
>>> cep.match('89900-00') is None
True

Comparando placas de veículos com expressão regular:

>>> placa = re.compile('([a-z]{3}|[A-Z]{3})-d{4}')
>>> placa.match('AAA-1234')
<_sre.SRE_Match object; span=(0, 8), match='AAA-1234'>
>>> placa.match('aaa-1234')
<_sre.SRE_Match object; span=(0, 8), match='aaa-1234'>

Veja que retornou corretamente, tanto para letras maiúsculas como para minúsculas.

Esses são alguns exemplos que podemos usar em expressão regulares em Python.

Obrigado.

 

Tags: regulares, expressões, python
Via www.ideiasprogramadas.com.br

Total de comentários: 0
avatar