Regulárne výrazy v plugine Hromadné premenovanie
Plugin Hromadné premenovanie používa výkonnejšie regulárne výrazy než Hľadanie a Interný prehliadač v Sally. Rozširuje knižnicu REGEXP, skvelé dielo Henryho Spencera. Najprv si prečítajte Syntax regulárnych výrazov v Sally a potom pokračujte opisom rozšírení pluginu Hromadné premenovanie. Tieto rozšírenia boli inšpirované jazykom Perl.
Rozšírená syntax
- '*?' – nenásytná verzia '*' (zhoda 0 alebo viackrát)
- '+?' – nenásytná verzia '+' (zhoda 1 alebo viackrát)
- '??' – nenásytná verzia '?' (zhoda 0 alebo 1-krát)
- '$' – na konci výrazu zodpovedá koncu riadka (alebo pozícii pred znakom nového riadka na konci)
- '( )' – spojí výrazy v zátvorkách do jedného výrazu a zachytí zhodný podreťazec (pozrite si tento príklad, aby ste pochopili fungovanie)
- '(?: )' – funguje ako "( )", ale nezachytáva zhodný podreťazec
Poznámka: „Nenásytná“ znamená, že hľadá najmenší možný počet opakovaní.
Podmienky s nulovou šírkou
Môžete použiť nasledujúce podmienky s nulovou šírkou (nezodpovedajú žiadnemu znaku, len testujú, či je podmienka pravdivá alebo nepravdivá):
| Podmienka | Význam |
|---|---|
| \b | Zodpovedá hranici slova. |
| \B | Zodpovedá pozícii, ktorá nie je hranicou slova. |
| \A | Zodpovedá len začiatku reťazca. |
| \Z | Zodpovedá len koncu reťazca alebo pozícii pred znakom nového riadka na konci. |
| \z | Zodpovedá len koncu reťazca. |
| (?= ) | Pozitívna podmienka dopredného náhľadu (napríklad 'j(?=ohn)' zodpovedá 'j' v slove 'john', ale nie v slove 'june'). |
| (?! ) | Negatívna podmienka dopredného náhľadu (napríklad 'j(?!ohn)' zodpovedá 'j' v slove 'june', ale nie v slove 'john'). |
| (?<= ) | Pozitívna podmienka spätného náhľadu (napríklad '(?<=joh)n' zodpovedá 'n' v slove 'john', ale nie v slove 'joan'). |
| (?<! ) | Negatívna podmienka spätného náhľadu (napríklad '(?<!joh)n' zodpovedá 'n' v slove 'joan', ale nie v slove 'john'). |
V znakových triedach predstavuje "\b" znak backspace namiesto hranice slova.
Znakové triedy POSIX
Môžete použiť nasledujúce znakové triedy POSIX:
| Trieda | Ekvivalent so spätnou lomkou | Význam |
|---|---|---|
| alpha | Písmená. | |
| alnum | Písmená a číslice. | |
| ascii | Znaky ASCII. | |
| cntrl | Riadiace znaky. | |
| digit | \d | Desiatkové číslice. |
| graph | Znaky, ktoré sú tlačiteľné aj viditeľné (medzera je tlačiteľná, ale nie viditeľná). | |
| lower | Malé písmená. | |
| Tlačiteľné znaky (znaky, ktoré nie sú riadiace). | ||
| punct | Interpunkčné znaky (znaky, ktoré nie sú písmená, číslice, riadiace ani biele znaky). | |
| space | \s | Biele znaky (napr. medzera, TAB, posun strany). |
| upper | Veľké písmená. | |
| word | \w | Písmená a číslice spolu s podčiarkovníkom ("_"). |
| xdigit | Znaky, ktoré sú šestnástkovými číslicami. |
Znakové triedy môžete negovať vložením '^' pred názov triedy.
Použitie: [[:alpha:]] (písmená), [01[:alpha:]%] (písmená spolu s 0, 1 a %), [[:^digit:]] (všetky znaky okrem desiatkových číslic).
Skrátené tvary niektorých znakových tried
Môžete použiť nasledujúce skrátené tvary znakových tried:
| Trieda | Význam |
|---|---|
| \w | Písmená a číslice spolu s podčiarkovníkom ("_"). |
| \W | Všetky znaky okrem písmen, číslic a podčiarkovníka ("_"). |
| \s | Biele znaky (napr. medzera, TAB, posun strany). |
| \S | Všetky znaky okrem bielych znakov (napr. medzera, TAB, posun strany). |
| \d | Desiatkové číslice. |
| \D | Všetky znaky okrem desiatkových číslic. |
Špeciálne znaky
Môžete použiť nasledujúce špeciálne znaky:
| Špeciálny znak | Význam |
|---|---|
| \t | tabulátor |
| \n | nový riadok |
| \r | návrat vozíka |
| \f | posun strany |
| \a | zvukový signál (zvonček) |
| \b | spätný krok |
| \x5A | znak 'Z' s kódom 0x5A (šestnástková hodnota) |
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