Ako na regulárne výrazy v Mergade — II. diel

Článok bol publikovaný 27. 10. 2016
| 3 minúty čítania

Zátvorky

Hranaté zátvorky []
 
Hranaté zátvorky pomôžu s výberom takého textu, v ktorom sa vyskytuje jeden zo skupiny znakov, ktorú zadáme, teda napríklad:
  • Chceme nájsť všetky produkty, ktoré majú v názve nejaké číslo, použijeme regulárny výraz [0 – 9]. (Alternatívou je potom použitie výrazu \d, ktorý v regulárnych výrazoch predstavuje akúkoľvek číslicu), teda: PRODUCTNAME ~ obsahuje reg.výraz [0 – 9] alebo PRODUCTNAME ~ obsahuje reg.výraz \d
  • Hľadáme všetky produkty, ktoré majú v názve dvojciferné číslo, použijeme regulárny výraz [0 – 9] [0 – 9] (Alebo to isté zaistí použitie: \d\d)
  • Chceme nájsť všetky produkty, ktoré majú v názve nejakej písmeno z nasledujúcej množiny písmen: b, f, l, m, použijeme regulárny výraz [bflm]

Hranaté zátvorky

Okrúhle zátvorky ()

Okrúhle zátvorky umožňujú vyhľadávať v reťazci rôzne tvary jedného slova, pričom vyhľadajú všetky časti reťazca, v ktorých sa vyskytuje buď časť pred zátvorkou alebo celý výraz.

 

  • Chceme nájsť všetky produkty, ktoré majú v názve pneu alebo pneumatika, použijeme regulárny výraz pneu(matika)? (Vysvetlenie znaku ? sme uviedli v minulom článku)

Okrúhle zátvorky

Zložené zátvorky {}
 
Zložené zátvorky patria medzi kvantifikátory — určujú teda, koľkokrát sa dané písmeno alebo reťazec písmen v hľadanom texte vyskytuje. Napríklad:
  • Chceme nájsť všetky produkty, ktoré majú v názve písmeno A trikrát za sebou, použijeme regulárny výraz A{3}
  • Chceme nájsť všetky produkty, ktoré majú v názve písmeno A najmenej raz, maximálne dvakrát za sebou, použijeme regulárny výraz A{1,2}
  • Chceme nájsť všetky produkty, ktoré majú v názve písmeno A dva a viackrát za sebou, použijeme regulárny výraz A{2,} — napríklad u módy tak môžeme vytvoriť výber pre najväčšie veľkosti (XXL a väčšie)

Zložené zátvorky

Hraničné značky

Strieška ^
 
Pomocou tejto značky vyhľadávame na začiatku reťazca:
  • Chceme nájsť všetky produkty, ktorých názov začína číslom (tj. prvým znakom v názve produktu je číslo), použijeme regulárny výraz ^[0 – 9] alebo ^\d
  • Chceme nájsť všetky produkty, ktorých názov začína medzerou (tj. prvým znakom v názve produktu je medzera), použijeme regulárny výraz ^\s
  • Chceme nájsť všetky produkty, ktorých názov začína slovom Novinka (tj. v názve produktu je hneď na začiatku slovo “Novinka”), použijeme regulárny výraz ^Novinka

Strieška

Dolár $
 
S pomocou “dolára” vyhľadávame požadované znaky na konci reťazca:
  • Chceme nájsť všetky produkty, ktorých názov končí číslom (tj. Posledným znakom v názve produktu je číslo), použijeme regulárny výraz [0 – 9]$ alebo \d$
  • Chceme nájsť všetky produkty, ktorých názov končí medzerou (tj. Posledným znakom v názve produktu je medzera), použijeme regulárny výraz \s$
  • Chceme nájsť všetky produkty, ktorých názov končí slovom Novinka (tj. V názve produktu je úplne na konci “Novinka”), použijeme regulárny výraz Novinka$

Tip: Dolár na klávesnici napíšete napr. cez klávesovú skratku pravý Alt + ô.

Strink alebo znak dolár

Zvislá čiara |
 
Táto značka funguje podobne ako operátor OR, slovensky by sme povedali “alebo” — vyhľadá teda také položky, v ktorých sa vyskytuje jeden alebo druhý (tretí, štvrtý, piaty…) zo zadaných výrazov, teda:
  • ak chceme nájsť všetky produkty, ktorých názov obsahuje veľkosť alebo objem (tj. kdekoľvek v názve produktu bude jeden alebo druhý hľadaný výraz), použijeme regulárny výraz Veľkosť|Objem

Zvislá čiara

Znak “s” so spätným lomítkom \s
 
Pomocou tohto znaku dokážeme vyhľadávať, a následne napríklad odstrániť medzery (a ďalšie biele znaky akými sú tabulátory alebo nezalomitelné medzery), môže sa nám teda hodiť pri:
  • Hľadaní všetkých produktov, ktorých názov obsahuje konkrétny viacslovné text: “Objem100ml”. K tomu použijeme regulárny výraz Objem\S100\sml
  • Odhaľovanie práve dvoch medzier vedľa seba, kedy použijeme regulárny výraz \s\s
  • K vyhľadávaniu rôzneho počtu medzier je potom efektívnejšie použiť výraz s kvantifikátorom plus (pozri predchádzajúci článok) \s+, ktorý odhalí minimálne jednu a maximálne nekonečno medzier za sebou.

Spätné lomítko

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ť”.

V ďalšom dieli seriálu sa už môžete tešiť na konkrétne kombinácie a riešenia zložitejších výberov v Mergade pomocou regulárnych výrazov.

Autor / Luděk Volejník / 27. 10. 2016

Luděk pomáhá zajistit Mergadovu českou podporu. V prostředí eshopů a internetového marketingu se pohybuje přes 16 let, aktuálně ho nejvíc baví PrestaShop a vše kolem něj. Když zrovna nepracuje pro Mergado, cvičí gymnastiku v Sokole nebo skáče přes překážky na biketrialovém kole.

Pridať nový komentár

Obsah tohto poľa je súkromný a nebude verejne zobrazený.
By submitting a comment, you agree to the processing of personal data.