Conjunto de caracteres Python Regex

Resumo : neste tutorial, você aprenderá sobre conjuntos de caracteres em expressões regulares, incluindo dígitos, palavras, espaços em branco e ponto (.).

Introdução aos conjuntos de caracteres regex do Python

Um conjunto de caracteres (ou classe de caracteres) é um conjunto de caracteres, por exemplo, dígitos (de 0 a 9), alfabetos (de a a z) e espaços em branco.

Um conjunto de caracteres permite construir expressões regulares com padrões que correspondem a uma string com um ou mais caracteres em um conjunto.

\d: conjunto de caracteres de dígitos

Expressões regulares são usadas \dpara representar um conjunto de caracteres de dígitos que corresponde a um único dígito de 0até 9.

O exemplo a seguir usa a finditer()função para corresponder cada dígito em uma string usando o \dconjunto de caracteres:

import re

s = 'Python 3.0 was released in 2008'
matches = re.finditer('\d', s)
for match in matches:
    print(match.group())Linguagem de código:  Python  ( python )

Saída:

3
0
2
0
0
8Linguagem de código:  Python  ( python )

Para corresponder a um grupo de dois dígitos, você usa o \d\d. Por exemplo:

import re

s = 'Python 3.0 was released in 2008'
matches = re.finditer('\d\d', s)
for match in matches:
    print(match.group())Linguagem de código:  Python  ( python )

Saída:

20
08Linguagem de código:  Python  ( python )

Da mesma forma, você pode combinar um grupo de quatro dígitos usando o \d\d\d\dpadrão:

import re

s = 'Python 3.0 was released in 2008'
matches = re.finditer('\d\d\d\d', s)
for match in matches:
    print(match.group())Linguagem de código:  Python  ( python )

Saída:

2008Linguagem de código:  Python  ( python )

Posteriormente, você aprenderá como usar quantificadores para encurtar o padrão. Então, em vez de usar o \d\d\d\dpadrão, você pode usar o mais curto, como\d{4}

\w: o conjunto de caracteres da palavra

Expressões regulares são usadas \wpara representar o conjunto de caracteres da palavra. Corresponde \wa um único caractere ASCII, incluindo alfabeto latino, dígito e sublinhado ( _).

O exemplo a seguir usa a finditer()função para corresponder a cada caractere de palavra em uma string usando o \wconjunto de caracteres:

import re

s = 'Python 3.0'
matches = re.finditer('\w', s)
for match in matches:
    print(match.group())Linguagem de código:  Python  ( python )

Saída:

P
y
t
h
o
n
3
0Linguagem de código:  Python  ( python )

Observe que os espaços em branco e .não estão incluídos nas correspondências.

\s : conjunto de caracteres de espaço em branco

O \sespaço em branco corresponde, incluindo um espaço, uma tabulação, uma nova linha, um retorno de carro e uma tabulação vertical.

O exemplo a seguir usa o conjunto de caracteres de espaço em branco para corresponder a um espaço em uma string:

import re

s = 'Python 3.0'
matches = re.finditer('\s', s)
for match in matches:
    print(match)Linguagem de código:  Python  ( python )

Saída:

<re.Match object; span=(6, 7), match=' '>Linguagem de código:  Python  ( python )

Conjuntos de caracteres inversos

Um conjunto de caracteres possui um conjunto de caracteres inverso que usa a mesma letra, mas em maiúsculas. A tabela a seguir mostra os conjuntos de caracteres e seus inversos:

Conjunto de caracteres Conjunto de caracteres inversos Descrição
\d \D Corresponder a um único caractere, exceto um dígito
\w \W Corresponder a um único caractere que não seja um caractere de palavra
\s \S Corresponde a um único caractere, exceto espaço em branco

O exemplo a seguir usa o \Dpara corresponder ao não dígito de um número de telefone:

import re

phone_no = '+1-(650)-513-0514'
matches = re.finditer('\D', phone_no)
for match in matches:
    print(match.group())Linguagem de código:  Python  ( python )

Saída:

+
-
(
)
-
-Linguagem de código:  Python  ( python )

Para transformar o número de telefone +1-(650)-513-0514 em 16505130514, você pode usar a função sub():

import re

phone_no = re.sub('\D', '', '+1-(650)-513-0514')
print(phone_no)Linguagem de código:  Python  ( python )

Saída:

16505130514Linguagem de código:  Python  ( python )

Neste exemplo, a sub()função substitui o caractere que corresponde ao padrão \Dpela string literal ''no número de telefone formatado.

O conjunto de caracteres ponto(.)

O conjunto de caracteres ponto ( .) corresponde a qualquer caractere único, exceto a nova linha ( \n). O exemplo a seguir usa o conjunto de caracteres ponto (.) para corresponder a cada caractere, exceto à nova linha:

import re

version = "Python\n4"
matches = re.finditer('.', version)
for match in matches:
    print(match.group())Linguagem de código:  Python  ( python )

Saída:

P
y
t
h
o
n
4Linguagem de código:  Python  ( python )

Resumo

  • Use  \d o conjunto de caracteres para corresponder a qualquer dígito.
  • Use  \w o conjunto de caracteres para corresponder a qualquer caractere de palavra única.
  • Use  \s o conjunto de caracteres para corresponder a qualquer espaço em branco.
  • O  conjunto de caracteres \D\W\S são os conjuntos inversos de  \d\w\s conjunto de caracteres.
  • Use o conjunto de caracteres de ponto ( .) para corresponder a qualquer caractere, exceto uma nova linha.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *