Jak na regulární výrazy v Mergadu - I. díl seriálu

Co je to regulární výraz?

Regulární výraz si můžete představit jako šikovného vyhledávacího pomocníka, který vám přijde na pomoc, když nevíte, co přesně v textu nebo kódu hledáte, ale víte, jak zhruba to má vypadat. Tedy pokud například neznáte konkrétní číselnou kombinaci, kterou výraz obsahuje, ale víte, že má tato kombinace právě 8 číslic, můžete použít regulární výraz. Výsledkem vyhledávání pak budou všechny části textu, které odpovídají zadaným podmínkám. Regulární výraz je tak textový řetězec, který pasuje na množinu řetězců na základě určitých syntaktických pravidel. 

K čemu jsou regulární výrazy v Mergadu užitečné?

Bez používání regulárních výrazů se v Mergadu nejspíš nějakou chvíli obejdete, jak jim ale přijdete na kloub, už je nebudete chtít opustit – výrazně totiž usnadňují práci a šetří čas při hromadných úpravách dat. Problém, který byste museli řešit mnoha výběry zvládnete s jedním regulárním výrazem. 
 
Regulární výrazy využijete v Mergadu například:
  • při vytváření výběrů a vyhledávání (na kartě Produkty -> Jednoduché rozhraní vyhledávání -> obsahuje/neobsahuje regulární výraz, obdobně lze regulární výrazy používat v Rozšířeném rozhraní vyhledávání)
  • při vytváření proměnných 
  • u pravidel typu najít a nahradit, (třeba odstranit velikost výrobku z PRODUCTNAME) 
  • kontroly výrazů – zda má EAN počet znaků, který má mít

S těmito a dalšími příklady využití regulárních výrazů vás postupně seznámíme v sérii článků. Nejprve začneme zlehka jednoduchými příklady, později se budeme věnovat i složitějším případům. V každém případě jsme vám ale k dispozici pro jakékoli dotazy a pomoc (nejen) s regulárními výrazy. 
 

Nejčastěji používané značky a jejich využití

Regulární výrazy vyhledávají text pomocí nejrůznějších značek, přičemž základní z nich nyní představíme. 

Tečka  .

Skrze tečku hledáme takové řetězce, u nichž právě jeden znak neznáme. Použijeme v případě, kdy:

  • chceme najít všechny produkty, jejichž popis obsahuje slovo "diskuze" a nejsme si jistí, zda někde nebude "diskuse", použijeme regulární výraz disku.e (tomu vyhoví: diskuze i diskuse)
  • chceme najít všechny produkty, jejichž název obsahuje tři čísla: 1 na začátku, 3 na konci a s tím, že prostřední číslo neznáme (může být libovolné nebo může jít o jakýkoliv znak), použijeme regulární výraz 1.3 (tomu vyhoví: 103, 113, 123, 133, atd.) 

Hvězdička  *

Hvězdičkou vyhledáme výrazy, které obsahují konkrétní znak 0 až nekonečně krát. Použijeme ji v případě, kdy:
  • chceme najít všechny produkty, jejichž název obsahuje Baterie a volitelně také označení velikosti baterií (A, AA nebo AAA), použijeme regulární výraz: Baterie A* (tomuto vyhoví všechny následující tvary: "Baterie ", "Baterie A", "Baterie AA", "Baterie AAA") 

Otazník  ?

Pomocí otazníku najdeme výraz, ve kterém se náš znak nevyskytuje nebo se vyskytuje jen jednou. Použijeme ho tedy v případě, kdy:

  • chceme najít všechny produkty, které mají v názvu velikost L nebo velikost XL a přitom už nechceme najít XXL ani XXXL, použijeme regulární výraz: Velikost X?L (tomuto vyhoví všechny následující tvary: Velikost L, Velikost XL, tedy "X" tam nemusí být přítomno vůbec nebo maximálně jedenkrát) 

Plus  +

Plus funguje podobně jako hvězdička, vyhledává ale takové řetězce, ve kterých je znak alespoň jednou zastoupen. Používáme ho v případě, kdy:

  • chceme najít všechny produkty ve velikosti XL, XXL a XXXL, použijeme regulární výraz X+L (tedy "X" tam musí být přítomno minimálně jedenkrát, maximálně to není neomezeno)

Tip: v Mergadu u regulárních výrazů nezáleží na tom, zda hledáte text zadaný malými nebo velkými písmeny. Když budete hledat slovo "Velikost", najde se: "Velikost", "velikost" nebo třeba i "VeLiKoSt".

Pro fajnšmekry přikládáme odkaz na přehledný popis základních značek z regulárních výrazů. Některým z nich se budeme věnovat v dalších dílech seriálu. 

Přidat komentář