re.split() în Python

Împarte un text oriunde se potrivește un model, de exemplu după mai mulți separatori deodată.

Sintaxă
re.split(model, text, maxsplit=0, flags=0)

Ce face re.split()

re.split() funcționează ca str.split(), dar separatorul este o expresie regulată: poți tăia după virgulă sau punct și virgulă, după orice număr de spații etc.

Dacă modelul conține grupuri capturate, separatorii găsiți apar și ei în rezultat. maxsplit limitează numărul de tăieturi; din Python 3.13 trebuie dat cu nume. Pattern.split() este varianta pentru modele compilate.

Parametri

Parametru Descriere
model Expresia regulată pentru separator.
text Textul împărțit.
maxsplit Opțional, cu nume. Numărul maxim de tăieturi.
flags Opțional, cu nume. Flag-uri.

Ce returnează

O listă de texte.

Exemple

Exemplul 1: Mai mulți separatori

import re
print(re.split(r"[,;]\s*", "mere, pere;prune ;  caise"))
print(re.split(r"\s*[,;]\s*", "mere, pere;prune ;  caise"))
print(re.split(r"(\d)", "a1b2c"))
print(re.split(r"\W+", "Salut, lume! Ce faci?", maxsplit=2))

Rezultat

['mere', 'pere', 'prune ', 'caise']
['mere', 'pere', 'prune', 'caise']
['a', '1', 'b', '2', 'c']
['Salut', 'lume', 'Ce faci?']

Greșeli frecvente

  • Te miri că separatorii apar în listă. Ai folosit un grup ( ); pentru grupare fără captură scrie (?: ).

Comenzi înrudite