Archív Inet.sk Pôvodný autor: Július Pastierik
22. 12. 2005 o 00:00 4699x

Makrá v OpenOffice.org X. – regulárne výrazy

Ako sme naznačili v minulom dieli nášho seriálu o programovaní makier v OpenOffice.org, mnoho zaujímavých výsledkov pri rôznych náhradách môžeme dosiahnuť pomocou regulárnych výrazov. Preto si v ich v dnešnom dieli nášho seriálu trochu viac priblížime.
Makrá v OpenOffice.org X. – regulárne výrazy

Pri programovaní makra pre vymazávanie viacnásobných medzier sme postupne prešli viacerými fázami – od jednoduchej výmeny, ktorú sme však museli manuálne viackrát opakovať cez výmeny pomocou cyklov až po výmenu pomocou regulárnych výrazov. A práve regulárne výrazy môžu našu prácu mnohokrát veľmi uľahčiť a časovo skrátiť (a to, pravdaže, nielen pri programovaní). Už teraz môžeme naznačiť, že napríklad pri programovaní známeho makra „Vlnka“ pre vkladanie nezalomiteľných medzier za predložky bude mať použitie regulárnych výrazov naozaj veľmi zaujímavý časový efekt, pretože aj to dokážeme nakoniec naprogramovať na jeden prechod cez dokument – k tomu sa však dostaneme (podobne ako pri vymazávaní viacnásobných medzier) až neskôr v niektorých z ďalších dielov tohto seriálu.

Ako sme už spomínali, regulárne výrazy umožňujú vyhľadávanie pomocou zástupných znakov. Tieto výrazy obsahujú, pravdaže, aj bežné znaky tak, ako pri obyčajnom hľadaní, ibaže niektoré znaky (či celé postupnosti znakov) majú špecifický – zástupný význam. Pozrime sa teda bližšie práve na tieto špecifiká.

. – bodka predstavuje akýkoľvek jeden znak okrem konca riadku (odriadkovanie) a konca odstavca. Napríklad pomocou regulárneho výrazu " . " vyhľadáme všetky jednoznakové reťazce (predložky, pomlčky a pod.).

^ – pomocou striešky nájdeme hľadaný reťazec (ktorý je uvedený za ňou) iba vtedy, ak sa nachádza na začiatku odstavca. Napríklad pomocou regulárneho výrazu "^ " dokážeme nájsť všetky jednoduché medzery na začiatku odstavca.

$ – pomocou doláru nájde hľadaný reťazec (ktorý je uvedený pred ním) iba vtedy, ak sa nachádza na konci odstavca. Napríklad pomocou regulárneho výrazu " $" dokážeme nájsť všetky jednoduché medzery na konci odstavca.

^$ – touto postupnosťou hľadáme „prázdny“ reťazec, ktorý je zároveň na začiatku aj na konci odstavca – teda prázdny odstavec.

^. – touto postupnosťou vyhľadáme prvý znak odstavca.

* – pomocou hviezdičky nájdeme žiadny alebo viacnásobný výskyt znaku, ktorý je uvedený pred ňou. Napríklad pomocou regulárneho výrazu "^ *" (použili sme ho v minulom dieli nášho seriálu) dokážeme nájsť všetky 0 až n-násobné medzery na začiatku odstavca.

+ – pomocou znaku plus nájdeme jednonásobný alebo viacnásobný výskyt znaku, ktorý je uvedený pred týmto znamienkom. Napríklad pomocou regulárneho výrazu "^ +" dokážeme nájsť všetky jednoduché a viacnásobné medzery na začiatku odstavca.

? – pomocou otáznika nájdeme žiadny alebo práve jeden výskyt znaku, , ktorý je uvedený pred ním. Napríklad pomocou regulárneho výrazu "  ?" dokážeme nájsť naraz všetky jednoduché a dvojnásobné medzery.

\ – znak, ktorý sa nachádza za opačným lomítkom sa nepovažuje za špeciálny (zástupný) znak regulárneho výrazu, ale za obyčajný. Takto môžeme v regulárnych výrazoch vyhľadať napríklad znak bodky "\.", doláru "\$", opačného lomítka "\\" a pod. Výnimku tvoria postupnosti "\n", "\t", "\<", "\>", "\x" a referenčné odkazy "\1", "\2", … ktoré majú špecifický význam.

\n – touto postupnosťou hľadáme zalomenie riadku (klávesová skratka Shift+Enter). Pokiaľ chceme nahradiť zalomenie riadku za zalomenie odstavca, použijeme presne tento výraz aj v poli nahradiť.

\t – touto postupnosťou hľadáme znak tabelátora a môžeme ho použiť aj v poli nahradiť.

\< – pomocou tejto postupnosti nájdeme hľadaný reťazec (ktorý je uvedený za ňou) iba vtedy, ak sa nachádza na začiatku slova. Napríklad pomocou regulárneho výrazu "\<. " nájdeme všetky jednoznakové reťazce.

\> – pomocou tejto postupnosti nájdeme hľadaný reťazec (ktorý je uvedený pred ňou) iba vtedy, ak sa nachádza na konci slova. Napríklad pomocou regulárneho výrazu " .\>" nájdeme všetky jednoznakové reťazce.

\xXXXX – táto postupnosť predstavuje znak určený štvormiestnym hexadecimálnym kódom XXXX. Napríklad pomocou regulárneho výrazu "\x00A0" nájdeme všetky nezalomiteľné medzery.

() – zátvorky slúžia k zoskupovaniu znakov, ktoré sú potom považované akoby za jeden znak. Napríklad pomocou regulárneho výrazu "(text)+" nájdeme všetky jedno a viacnásobné výskyty reťazca „text“. Zároveň na výrazy v zátvorkách môžeme použiť aj referenčné odkazy, t.j. nemusíme ich opakovane písať celé. Napríklad pomocou regulárneho výrazu "(a)(b)c\1\2" nájdeme reťazec „abcab“.

| – zvislá čiara predstavuje logický výraz „alebo“, t.j. pomocou nej vyhľadáme reťazec, ktorý sa nachádza pred alebo za ňou. Napríklad pomocou regulárneho výrazu " (a|i|k|o|s|u|v|z) " vyhľadáme všetky jednoznakové predložky.

& – znak and má význam v poli nahradiť, kde pridá nájdený reťazec. Napríklad ak hľadáme reťazec "OpenOffice" a do pola nahradiť zadáme výraz "&.org", potom nahradíme všetky výskyty reťazca „OpenOffice“ za reťazec „OpenOffice.org“.

{koľko} – číslo v zložených zátvorkách určuje, koľkokrát sa má vyskytnúť znak, ktorý sa nachádza pred nimi. Napríklad pomocou regulárneho výrazu " {2}" nájdeme všetky dvojnásobné medzery.

{od, po} – rozsah dvoch čísiel v zložených zátvorkách určuje, koľkokrát (od až po) sa má vyskytnúť znak, ktorý sa nachádza pred nimi. Napríklad pomocou regulárneho výrazu " {2,5}" nájdeme všetky dvojnásobné až päťnásobné medzery.

{od,} – neohraničený rozsah čísiel v zložených zátvorkách určuje, minimálne koľkokrát (od) sa má vyskytnúť znak, ktorý sa nachádza pred nimi. Napríklad pomocou regulárneho výrazu " {2,}" nájdeme všetky viacnásobné medzery.

[zoznam znakov] – takýto zápis znakov uzatvorený v hranatých zátvorkách predstavuje jeden zo znakov, ktorý je uvedený v zozname. Napríklad pomocou regulárneho výrazu " [aikosuvz] " nájdeme všetky jednoznakové predložky. Ako zoznam môžeme použiť aj rozsah znakov, napríklad pomocou regulárneho výrazu " [a-z] " nájdeme všetky jednoznakové reťazce v ktorých je abecedný znak bez diakritiky. Zoznam môže byť aj kombinovaný, napríklad regulárny výraz "[a-kmo-z]" nájde všetky znaky medzi „a“ až „k“, znak „m“ a znaky medzi „o“ až „z“.

[^zoznam znakov] – takýto zápis znakov uzatvorený v hranatých zátvorkách predstavuje jeden zo znakov, ktorý nie je uvedený v zozname. Napríklad pomocou regulárneho výrazu " [^aikosuvz] " nájdeme všetky jednoznakové reťazce okrem predložiek. Ako zoznam môžeme použiť aj rozsah znakov a kombinácie, napríklad pomocou regulárneho výrazu "[^a-kmo-z]" vynecháme z hľadania znaky medzi „a“ až „k“, znak „m“ a znaky medzi „o“ až „z“.

Nasledujúcich osem postupností sa nemôže priamo použiť ako samostatné regulárne výrazy, ale tieto vždy musia obsahovať ešte aspoň jeden znak, inak OpenOffice.org nenájde ani jeden výskyt.

[:digit:] – táto postupnosť predstavuje desiatkové číslice.

[:alpha:] – táto postupnosť predstavuje abecedné znaky. Napríklad pomocou regulárneho výrazu " [:alpha:][:alpha:]? " nájdeme všetky jednoznakové a dvojznakové slová.

[:alnum:] – táto postupnosť predstavuje alfanumerické znaky, t.j. číslice a abecedné znaky spolu.

[:space:] – táto postupnosť predstavuje znaky tabelátora, zalomiteľných a nezalomiteľných medzier. Napríklad pomocou regulárneho výrazu "[:space:]?" nájdeme všetky viacnásobné medzery vrátane najrôznejších kombinácií s tabelátormi a nezalomiteľnými medzerami.

[:print:] – táto postupnosť predstavuje tlačiteľné znaky.

[:cntrl:] – táto postupnosť predstavuje netlačiteľné znaky.

[:lower:] – pokiaľ pri hľadaní rozoznávame veľkosť písmen, tak táto postupnosť predstavuje malé znaky, inak všetky abecedné znaky.

[:upper:] – pokiaľ pri hľadaní rozoznávame veľkosť písmen, tak táto postupnosť predstavuje veľké znaky, inak všetky abecedné znaky.

Skočili sme prvú veľkú desaťdielnu časť seriálu o programovaní makier v OpenOffice.org. V novom roku budeme pokračovať druhou veľkou časťou, kde sa zameriame na formátovanie dokumentu (nezalomiteľné medzery za predložkami, akademickými titulmi a pod.).





Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás? Oznamy
01. 10. 2026

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?

Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...

Čítať viac
Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac
Plánovaná údržba v datacentre (20.09.2026) Oznamy
07. 09. 2026

Plánovaná údržba v datacentre (20.09.2026)

Stabilita a nepretržitá dostupnosť vašich webov je pre nás kľúčová. Aby sme tento štandard nielen udržali, ale neustále zvyšovali, naši p...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Férová
cena

Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies