Conjuntos e intervalos de Regex Python

Resumo : neste tutorial, você aprenderá como usar conjuntos e intervalos para criar padrões que correspondam a um conjunto de caracteres.

Vários caracteres ou conjuntos de caracteres entre colchetes []significam correspondência para qualquer caractere ou conjunto de caracteres entre eles.

Conjuntos

Por exemplo, [abc]significa qualquer um dos três caracteres. 'a', 'b', ou 'c'. O [abc]é chamado de conjunto. E você pode usar o conjunto com caracteres regulares para construir um padrão de pesquisa.

Por exemplo, o programa a seguir usa o padrão licen[cs]eque corresponde licensea e licence:

import re

s = 'A licence or license'

pattern = 'licen[cs]e'
matches = re.finditer(pattern, s)

for match in matches:
    print(match.group())Linguagem de código:  PHP  ( php )

Saída:

licence
license

O padrão licen[cs]eprocura por:

  • licen
  • então uma das letras[cs]
  • então e.

Portanto, corresponde licensea e licence.

Gamas

Quando um conjunto consiste em muitos caracteres, por exemplo, from ato zou 1to 9, será entediante listá-los em um conjunto. Em vez disso, você pode usar intervalos de caracteres entre colchetes. Por exemplo, [a-z]é um caractere no intervalo de aaté ze [0-9]é um dígito de 0até 9.

Além disso, você pode usar vários intervalos dentro dos mesmos colchetes. Por exemplo, [a-z0-9]tem dois intervalos que correspondem a um caractere que é de aaté zou um dígito de 0até 9.

Da mesma forma, você pode usar um ou mais conjuntos de caracteres entre colchetes, como [\d\s]um dígito ou um caractere de espaço.

Da mesma forma, você pode misturar o personagem com conjuntos de caracteres. Por exemplo, [\d_]correspondências para um dígito ou sublinhado.

Excluindo conjuntos e intervalos

Para negar um conjunto ou intervalo, você usa o caractere circunflexo ( ^) no início do conjunto e intervalo. Por exemplo, o intervalo [^0-9]corresponde a qualquer caractere, exceto um dígito. É o mesmo que o conjunto de caracteres \D.

Observe que regex também usa o sinal de intercalação ( ^) como uma âncora que corresponde ao início de uma string. No entanto, se você usar o sinal de intercalação ( ^) entre colchetes, a regex o tratará como um operador de negação, não como uma âncora.

O exemplo a seguir usa o sinal de intercalação( ^) para negar o conjunto [aeoiu]para corresponder às consoantes na string 'Python':

import re

s = 'Python'

pattern = '[^aeoiu]'
matches = re.finditer(pattern, s)

for match in matches:
    print(match.group())
Linguagem de código:  JavaScript  ( javascript )

Saída:

P
y
t
h
n

Resumo

  • Um conjunto ou intervalo corresponde a qualquer caractere único ou conjunto de caracteres especificado entre colchetes […].
  • Use o ^operador circunflexo ( ) para negar um conjunto ou intervalo como [^...].

Deixe um comentário

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