re.escape() în Python

Pune backslash înaintea caracterelor speciale, ca un text să fie căutat literal într-o expresie regulată.

Sintaxă
re.escape(text)

Ce face re.escape()

Caracterele . * + ? ( ) [ ] { } ^ $ | \ au sens special în expresiile regulate. Când construiești un model dintr-un text oarecare (de exemplu, cuvântul căutat de utilizator), re.escape() le face să fie tratate ca simple caractere.

Parametri

Parametru Descriere
text Textul de protejat.

Ce returnează

Textul cu caracterele speciale precedate de \.

Exemple

Exemplul 1: Căutarea unui text cu caractere speciale

import re
cautat = "1.5 (promo)"
print(re.escape(cautat))
text = "Preț 105 lei, apoi 1.5 (promo) lei"
print(re.findall(re.escape(cautat), text))
print(re.findall(cautat, text))

Rezultat

1\.5\ \(promo\)
['1.5 (promo)']
[]

Greșeli frecvente

  • Construiești modelul dintr-un text introdus de utilizator fără re.escape(). Un text ca "(" dă re.PatternError, iar "." se potrivește cu orice caracter.

Comenzi înrudite

  • re.compile(): Compilează o expresie regulată într-un obiect Pattern, refolosibil și mai ușor de citit.
  • re.search(): Caută prima potrivire a unei expresii regulate oriunde într-un text.
  • str.find(), rfind(), index() și rindex(): Caută un subșir într-un text și returnează poziția primei (sau ultimei) apariții.