Ajude nosso projeto a se manter online, faça um PIX de qualquer valor: 029 278 923 85

Classes de Caracteres, em Regex Python (Tutorial parte 5)

Neste tutorial de Python, sobre Strings e Regex, vamos estudar as principais classes de caracteres em expressões regulares.

Classes de Caracteres de Regex em Python


Até o momento, em nossos tutoriais sobre Regex, usamos uma classe de caractere:
\d - os dígitos.

Todo e qualquer dígito, de 0 até 9, representamos por \d.
Ele é uma classe de caractere.

Porém, é apenas uma das classes, e usamos somente ela para fins didáticos.
Vamos ver agora as classes:
  • \d - Qualquer dígito de 0 a 9
  • \D - Qualquer caractere que não seja um dígito (contrário de \d)
  • \w - Qualquer letra, dígito ou o caractere underscore (qualquer caractere de uma palavra)
  • \W - Qualquer caractere que não seja uma letra, um dígito ou o underscore (contrário de \w)
  • \s - Qualquer espaço, tabulação ou caractere de quebra de linha,  ou seja, qualquer espaçamento
  • \S - Qualquer caractere que não seja um espaço, uma tabulação ou uma quebra de linha (contrário de \S)
Vamos supor que queiramos detectar o seguinte padrão:
  1. Um ou mais números
  2. Um espaçamento
  3. Um ou mais caractere



Para detectar um ou mais número: \d+
Para detectar apenas um espaçamento: \s
Para detectar um ou mais caractere, seja dígito ou não: \w+

Logo, nossa regex é: \d+\s\w+

Você pode usar essa expressão regular para 'catar' receitas pela internet, note que elas tem esse padrão:
1 cebola
2 bifes
3 alhos

Exemplos de Classes de Caracteres

Os 6 tipos de classes apresentadas, são os 'geralzão', do Python.
Você também pode criar suas próprias.

Por exemplo, se desejar detectar dígitos de 0 até 5, use a Regex:
r'[0-5]'

Para detectar vogais minúsculas:
r'[aeiou]' ou r'[a-u]'

Para detectar tanto letras minúsculas como minúsculas:
r'[a-zA-Z]'

Para detectar um padrão formado só por letras do alfabeto e dígitos:
r'[a-zA-Z0-9]'




E para detectar o contrário do que você deseja, basta inserir o acento circunflexo antes ^.
Por exemplo, detecta tudo menos letras do alfabeto e dígitos:
r'[^a-zA-Z0-9]'

Detectar tudo que não é dígito:
r'^\d' que é o mesmo de r'\D'

Nenhum comentário:

Postar um comentário