Čo je to regulárny výraz?
Regulárny výraz si môžete predstaviť ako šikovného vyhľadávacieho pomocníka, ktorý vám príde na pomoc, keď neviete, čo presne v texte alebo kóde hľadáte, ale viete, ako zhruba to má vyzerať. Teda ak napríklad nepoznáte konkrétnu číselnú kombináciu, ktorú výraz obsahuje, ale viete, že má táto kombinácia práve 8 číslic, môžete použiť regulárny výraz. Výsledkom vyhľadávania potom budú všetky časti textu, ktoré zodpovedajú zadaným podmienkam. Regulárny výraz je tak textový reťazec, ktorý pasuje na množinu reťazcov na základe určitých syntaktických pravidiel.
Na čo sú regulárne výrazy v Mergade užitočné?
Bez používania regulárnych výrazov sa v Mergade zrejme nejakú chvíľu zaobídete, ako im ale prídete na kĺb, už ich nebudete chcieť opustiť — výrazne totiž uľahčujú prácu a šetria čas pri hromadných úpravách dát. Problém, ktorý ste museli riešiť mnohými výbermi zvládnete s jedným regulárnym výrazom.
Regulárne výrazy využijete v Mergade napríklad:
- pri vytváraní výberov a vyhľadávaní (na karte Produkty -> Jednoduché rozhranie vyhľadávanie -> obsahuje/neobsahuje regulárny výraz, obdobne možno regulárne výrazy používať v Rozšírenom rozhraní vyhľadávania)
- pri vytváraní premenných
- pri pravidle typu nájsť a nahradiť, (treba odstrániť veľkosť výrobku z PRODUCTNAME)
- kontrole výrazov — či má EAN počet znakov, ktorý má mať
S týmito a ďalšími príkladmi využitia regulárnych výrazov vás postupne zoznámime v sérii článkov. Najprv začneme zľahka jednoduchými príkladmi, neskôr sa budeme venovať aj zložitejším prípadom. V každom prípade sme vám ale k dispozícii ak máte akékoľvek otázky alebo potrebujete pomoc (nielen) s regulárnymi výrazmi.
Najčastejšie používané značky a ich využitie
Regulárne výrazy vyhľadávajú text pomocou najrôznejších značiek, pričom základné z nich teraz predstavíme.
Bodka „.“
Pomocou bodky hľadáme také reťazce, u ktorých práve jeden znak nepoznáme. Použijeme v prípade, keď:
- chceme nájsť všetky produkty, ktorých popis obsahuje slovo “štandard” a nie sme si istí, či niekde nebude “štandart”, použijeme regulárny výraz štandar. (tomu vyhovuje: štandard aj štandart)
- chceme nájsť všetky produkty, ktorých názov obsahuje tri čísla: 1 na začiatku, 3 na konci s tým, že prostredné číslo nevieme (môže byť ľubovoľné alebo môže ísť o akýkoľvek znak), použijeme regulárny výraz 1.3 (tomu vyhovuje: 103, 113, 123 , 133, atď.)
Hviezdička „*“
Hviezdičkou vyhľadáme výrazy, ktoré obsahujú konkrétny znak 0 až nekonečne krát. Použijeme ju v prípade, keď:
- chceme nájsť všetky produkty, ktorých názov obsahuje „Batérie“ a voliteľne tiež označenie veľkosti batérií (A, AA alebo AAA), použijeme regulárny výraz: Batérie A* (tomuto vyhovujú všetky nasledujúce tvary: „Batérie“, „Batérie A“, „Batérie AA“ , „Batérie AAA“)
Otáznik „?“
Pomocou otázniku nájdeme výraz, v ktorom sa náš znak nevyskytuje alebo sa vyskytuje len raz. Použijeme ho teda v prípade, keď:
- chceme nájsť všetky produkty, ktoré majú v názve veľkosť L alebo veľkosť XL a pritom už nechceme nájsť XXL ani XXXL, použijeme regulárny výraz: Veľkosť X?L (tomuto vyhovujú všetky nasledujúce tvary: „Veľkosť L“, „Veľkosť XL“, teda „X” tam nemusí byť prítomné vôbec alebo maximálne jedenkrát)
Plus „+“
Plus funguje podobne ako hviezdička, vyhľadáva ale také reťazce, v ktorých je znak aspoň raz zastúpený. Používame ho v prípade, keď:
- chceme nájsť všetky produkty vo veľkosti XL, XXL a XXXL, použijeme regulárny výraz X+L (teda „X“ tam musí byť prítomné minimálne jedenkrát, maximálne to nie je obmedzené)
Tip: v Mergade pri regulárnych výrazoch nezáleží na tom, či hľadáte text zadaný malými alebo veľkými písmenami. Keď budete hľadať slovo “Veľkosť”, nájde sa: “Veľkosť”, “veľkosť” alebo napríklad aj “veľkosť”.
Pre fajnšmekrov prikladáme odkaz na prehľadný popis základných značiek z regulárnych výrazov. Niektorým z nich sa budeme venovať v ďalších dieloch seriálu.