Expresii regulate în pluginul Cel ce Redenumeste

Cel ce Redenumeste folosește expresii regulate mai puternice decât căutarea și vizualizatorul intern Sally. Extinde biblioteca REGEXP, lucrarea remarcabilă a lui Henry Spencer. Citiți întâi Sintaxa expresiilor regulate din Sally, apoi extensiile Cel ce Redenumeste inspirate de Perl.

Sintaxă extinsă

  • '*?' – varianta minimală a lui '*', cu 0 sau mai multe potriviri
  • '+?' – varianta minimală a lui '+', cu 1 sau mai multe potriviri
  • '??' – varianta minimală a lui '?', cu 0 sau 1 potriviri
  • '$' – la sfârșitul expresiei se potrivește cu sfârșitul rândului sau înaintea rândului nou final
  • '( )' – unește expresiile dintre paranteze și capturează subșirul potrivit; vedeți acest exemplu
  • '(?: )' – funcționează ca „( )”, fără capturarea subșirului

Notă: Varianta minimală se potrivește de numărul minim posibil de ori.

Aserțiuni de lățime zero

Următoarele aserțiuni nu se potrivesc cu un caracter, ci verifică o condiție adevărată sau falsă:

Aserțiune Semnificație
\b Se potrivește cu o limită de cuvânt.
\B Se potrivește unde nu există limită de cuvânt.
\A Se potrivește numai la începutul șirului.
\Z Se potrivește numai la sfârșitul șirului sau înaintea rândului nou final.
\z Se potrivește numai la sfârșitul șirului.
(?= ) Aserțiune pozitivă înainte: „j(?=ohn)” găsește „j” în „john”, dar nu în „june”.
(?! ) Aserțiune negativă înainte: „j(?!ohn)” găsește „j” în „june”, dar nu în „john”.
(?<= ) Aserțiune pozitivă în urmă: „(?<=joh)n” găsește „n” în „john”, dar nu în „joan”.
(?<! ) Aserțiune negativă în urmă: „(?<!joh)n” găsește „n” în „joan”, dar nu în „john”.

În clasele de caractere, „\b” reprezintă backspace, nu limita unui cuvânt.

Clase de caractere POSIX

Sunt disponibile următoarele clase POSIX:

Clasă Echivalent cu bară inversă Semnificație
alpha Caractere alfabetice.
alnum Caractere alfanumerice.
ascii Caractere ASCII.
cntrl Caractere de control.
digit \d Cifre zecimale.
graph Caractere imprimabile și vizibile; spațiul este imprimabil, dar invizibil.
lower Litere mici.
print Caractere imprimabile, adică fără cele de control.
punct Punctuație, fără litere, cifre, controale sau spații.
space \s Spațiere, de exemplu spațiu, TAB și avans de pagină.
upper Litere mari.
word \w Caractere alfanumerice și subliniere („_”).
xdigit Cifre hexazecimale.

Negați o clasă prefixând numele cu „^”.

Folosire: [[:alpha:]] pentru litere, [01[:alpha:]%] pentru litere plus 0, 1 și %, [[:^digit:]] pentru orice în afară de cifre zecimale.

Forme scurte ale unor clase

Sunt disponibile formele scurte următoare:

Clasă Semnificație
\w Caractere alfanumerice și subliniere („_”).
\W Toate caracterele în afară de alfanumerice și subliniere („_”).
\s Spațiere, de exemplu spațiu, TAB și avans de pagină.
\S Toate caracterele în afară de spațiere, precum spațiu, TAB și avans de pagină.
\d Cifre zecimale.
\D Toate caracterele în afară de cifre zecimale.

Caractere speciale

Sunt disponibile caracterele speciale următoare:

Caracter special Semnificație
\t tabulator
\n rând nou
\r retur de car
\f avans de pagină
\a alarmă sonoră
\b ștergere înapoi
\x5A caracterul 'Z' cu valoarea 0x5A în hexazecimal

From the Sally manual (GPL-2.0-or-later), © 1997-2023 Open Salamander Authors; © 2025-2026 Elias Bachaalany. Source: manual source (zip) · original page in the Sally repository