Divisão Python Regex()

Resumo : neste tutorial, você aprenderá como usar a split()função regex do Python para dividir uma string nas ocorrências de correspondências de uma expressão regular.

Introdução à função Python regex split()

O módulo integrado refornece a split()função que divide uma string pelas correspondências de uma expressão regular .

A split()função possui a seguinte sintaxe:

split(pattern, string, maxsplit=0, flags=0)

Nesta sintaxe:

  • patterné uma expressão regular cujas correspondências serão usadas como separadores para divisão.
  • stringé uma string de entrada para dividir.
  • maxsplitdetermina no máximo que as divisões ocorrem. Geralmente, se maxsplitfor um, a lista resultante terá dois elementos. Se maxsplitfor dois, a lista resultante terá três elementos e assim por diante.
  • flagsO parâmetro é opcional e o padrão é zero. O flagsparâmetro aceita um ou mais sinalizadores regex . O flagsparâmetro altera a forma como o mecanismo regex corresponde ao padrão.

A split()função retorna uma lista de substrings divididas pelas correspondências do padrão na string.

Se patterncontiver um ou mais grupos de captura , a split()função retornará o texto de todos os grupos como elementos da lista resultante.

Se patterncontiver um grupo de captura que corresponda ao início de uma string, a split()função retornará uma lista resultante com o primeiro elemento sendo uma string vazia. Essa lógica é a mesma para o final da string.

Exemplos de função Python regex split()

Vejamos alguns exemplos de uso da split()função regex.

1) Usando a função split() para dividir palavras em uma frase

O exemplo a seguir usa a split()função para dividir as palavras em uma frase:

import re

s = 'A! B. C D'
pattern = r'\W+'

l = re.split(pattern, s)
print(l)
Linguagem de código:  JavaScript  ( javascript )

Neste exemplo, \W+é o inverso do conjunto de caracteres de palavra que corresponde a um ou mais caracteres que não são caracteres de palavra.

Saída:

['A', 'B', 'C', 'D']Linguagem de código:  JSON/JSON com comentários  ( json )

2) Usando a função split() com o argumento maxsplit

O exemplo a seguir usa a split()função que divide uma string com duas divisões em caracteres que não sejam palavras:

import re

s = 'A! B. C D'
pattern = r'\W+'

l = re.split(pattern, s, 2)
print(l)
Linguagem de código:  JavaScript  ( javascript )

Saída:

['A', 'B', 'C D']Linguagem de código:  JSON/JSON com comentários  ( json )

Como dividimos a string com duas divisões, a lista resultante contém três elementos. Observe que a split()função retorna o restante de uma string como elemento final na lista resultante.

3) Usando a função split() com um grupo de captura

O exemplo a seguir usa a split()função que divide uma string com o \W+padrão que contém um grupo de captura:

import re

s = 'A! B. C D'
pattern = r'(\W+)'

l = re.split(pattern, s, 2)
print(l)
Linguagem de código:  JavaScript  ( javascript )

Saída:

['A', '! ', 'B', '. ', 'C D']Linguagem de código:  JSON/JSON com comentários  ( json )

Neste exemplo, a split()função também retorna o texto do grupo na lista resultante.

4) Usando a função split()

O exemplo a seguir usa a split()função onde o separador contém um grupo de captura que corresponde ao início da string:

import re

s = '...A! B. C D'
pattern = r'\W+'

l = re.split(pattern, s)
print(l)Linguagem de código:  JavaScript  ( javascript )

Neste caso, a split()função retorna uma lista com o primeiro elemento sendo uma string vazia:

['', 'A', 'B', 'C', 'D']Linguagem de código:  JSON/JSON com comentários  ( json )

Da mesma forma, se o separador contiver os grupos de captura e corresponder ao final da string, a lista resultante terá o último elemento como uma string vazia:

import re

s = 'A! B. C D...'
pattern = r'\W+'

l = re.split(pattern, s)
print(l)
Linguagem de código:  JavaScript  ( javascript )

Saída:

['A', 'B', 'C', 'D', '']Linguagem de código:  JSON/JSON com comentários  ( json )

Resumo

  • Use a split()função regex do Python para dividir uma string usando separadores como correspondências de uma expressão regular.

Deixe um comentário

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