Snadná cesta k novým proměnným přes regulární výrazy

Při řešení nejasností ve správě inzerce v Mergadu se často setkáváme s tím, že jeho uživatelé málo využívají regulární výrazy. Ty jsou přitom skvělými pomocníky, se kterými si můžete ušetřit spoustu práce. Dnes si tedy ukážeme pár triků, po jejichž přečtení si řeknete: Regulár je kámoš!

Při řešení nejasností ve správě inzerce v Mergadu se často setkáváme s tím, že jeho uživatelé málo využívají regulární výrazy. Ty jsou přitom skvělými pomocníky, se kterými si můžete ušetřit spoustu práce. Dnes si tedy ukážeme pár triků, po jejichž přečtení si řeknete: Regulár je kámoš!

V tomto článku vám předvedeme obecný princip, jak si z textu vytáhnout vámi vybranou informaci, které předchází nějaký konkrétní text. Obvyklým případem je, když z textu chcete získat velikost, rozměr či např. barvu produktu. Přesně v takové chvíli se vám takovýto obecný princip bude hodit. Stačí si ho párkrát vyzkoušet a získáte nadhled, díky kterému pak psaní regulárních výrazů zvládnete úplně sami.

Trocha teorie

V řadě první je třeba si uvědomit, co jsou to proměnné a jak je využít. Právě pomocí proměnných si totiž nastavíte nebo přepíšete vybranou hodnotu. A jak že proměnné vytvoříte? Přece regulárním výrazem. O jeho využívání jsme pro vás sepsali celý manuál.

A teď prakticky

Představte si, že máte např. takovýto text:

Pěkná zimní bunda pro muže, velikost XXL, Vás bude hřát celou zimu.

Pokud se tedy v textu vyskytuje nějaká informace, kterou chcete získat do proměnné (v našem případě to je údaj o velikosti oblečení), a zároveň je okolo této informace spousta jiného textu, je potom nejlepší si tento text rozdělit na jednotlivé části a využít pouze ty informace, které se vám hodí.

Rozdělení na části by potom vypadalo takto:

(Pěkná zimní bunda pro muže, )(velikost )(XXL)(, Vás bude hřát celou zimu.)

Tohle rozdělení nám pomůže sestavit opravdu triviální regulární výraz:

(.*)(velikost\s*)(\w+)(.*)

Z něj nám Mergado vytvoří čtyři proměnné odpovídající každému bloku, tedy:

  1. Pěkná zimní bunda pro muže,
  2. velikost
  3. XXL
  4. , Vás bude hřát celou zimu.

Do proměnné si potom uložíme třetí blok, tedy konkrétní velikost. Tím docílíme toho, že se zachová celý obsah textu a měnit se budou pouze hodnoty v proměnné, v tomto případě velikosti zimní bundy pro muže.

A to je všechno. Nebylo to moc složité, co říkáte? Nejste si jistí, co znamenají jednotlivé značky a písmenka v regulárech? Souhrnnou tabulku těch nejčastějších z nich najdete v tomto článku. Na naplňování parametrů produktů z jejich názvu jsme se před časem zaměřili zde. Problematice regulárních výrazů se pak na našem blogu věnujeme v tomto tématu. Pokud byste objevili nějaký zapeklitý případ, se kterým si nebudete vědět rady, rádi vám pomůžeme na našem supportu.

Lukáš Horák

Lukáš se v Mergadu stará o většinu komunikace v češtině. Prostřednictvím blogu, e‑mailu a sociálních sítí pravidelně zásobuje čtenáře aktualitami z e‑commerce a novinkami a tipy z Mergada. Pokud zrovna není copywriterem, užívá si prosté věci jako badminton, výlety mezi utajené skvosty osmdesátkové hudby a plody moře podávané s červeným vínem.