Wyrażenia regularne cz. 2


 
Działanie w praktyce

W poprzednim artykule skupiliśmy się na podstawach pracy z wyrażeniami regularnymi. Poznaliśmy kilka najprostszych elementów oraz pracowaliśmy z przykładami.

Jeśli ktoś z Was nie widział pierwszej części to może ją znaleźć tutaj.
 
W drugiej części artykułu o wyrażeniach regularnych chciałbym pokazać Wam jak użyć ich w praktyce.
 
Do tego celu posłużę się najpopularniejszym darmowym IDE jakim jest Visual Studio Code.

Każdy edytor tekstu posiada wbudowane narzędzie do wyszukiwania znaków za pomocą regexów. W VSC wyszukiwarkę tekstu możemy uruchomić za pomocą skrótu klawiszowego ctrl+f a narzędzie do podmiany tekstu ctrl+h.
Narzędzie to ma 2 tryby wpisywania. Możemy użyć zwykłego ciągu znaków (tak jak w każdej wyszukiwarce), lub posłużyć się wyrażeniami regularnymi.

Możemy także określić czy zwracamy uwagę na rozmiar liter oraz całe wyrazy.

Na początku załóżmy że mamy duży plik html z dużą ilością tagów img które posiadają swoje alty oraz src. Pojawiają się także inne tagi takie jak div.
Nasze pierwsze zadanie polegać będzie na znalezieniu obrazka z alt który nie posiada cyfry.

kliknij zdjęcie aby zobaczyć je w większym rozmiarze

Zwróćcie uwagę że w VSC aby używać regexów muszę zaznaczyć trzecią opcję w wyszukiwarce czyli znak .*

Za pomocą wyrażenia: alt\=\”[a-z]+\” wyszukuję tylko takie wyrażenie.
Najpierw szukam alt po którym występuje =, po nim a następnie tylko litery z zakresu [a-z] których musi być co najmniej 1 (+). Całość kończę znakiem .
 
 
Teraz kolej na alty ale takie w których występuje co najmniej 1 cyfra.

Wyrażenie jest bardzo podobne do pierwszego ale po wyszukaniu liter używam [1-9]+ po to żeby upewnić się że pomiędzy “” występuje chociaż 1 cyfra w tym wypadku z zakresu 1 do 9.
 
 

W kolejnym przykładzie zakładam że alt musi mieć w sobie litery oraz co najmniej 1 cyfrę 2 lub 4.

W tym wypadku po wyszukaniu liter tworzę nową grupę za pomocą nawiasów okrągłych, podaje jako 1 możliwość cyfrę 2, używam znaku | który w wyrażeniach regularnych oznacza “lub” oraz wybieram cyfrę 4 jako drugą możliwość.
 
 

W tym przykładzie wyszukam wszystkie tagi html które nie są tagami img. Może się to przydać jeśli chcielibyśmy usunąć wszystko oprócz danego tagu lub skopiować cały html bez obrazków.

Najpierw otwieram tag html < następnie używam nawiasów kwadratowych w których jako pierwszy używam znak ^. Neguję on zawartość nawiasu. Oznacza to że szukam wszystkich innych liter oprócz i, m albo g. Następnie wyszukuję wszystkie pozostałe znaki z linii za pomocą wyrażenia .*.
 
 

Nawiasy okrągłe w regexach mają jeszcze jedną ważna funkcjonalność. Każdy otwarty nawias tworzy grupę, która jest zapamiętana i do której możemy odwołać się poprzez użycie wyrażenia $ oraz cyfry od 1 do 9. Polska nazwa tego wyrażenia to nawiasy wychwytujące.

W przykładzie korzystam z dwóch takich grup.
Najpierw zapamiętuje całe wyszukiwane wyrażenie, oraz w drugiej kolejności nazwę pliku z źródła src w tagu img.
Dzięki temu po wpisaniu w drugiej linijce narzędzia zamiany wyrażenia $1$2, najpierw z powrotem “zamieniam” znalezione ciągi znaków na te same ciągi znaków a następnie za pomocą $2 dopisuję nazwy plików bez rozszerzenia .jpg.
 
 

W tym przykładzie dodaje do tagów img atrybut title. Zakładam że ma on mieć taką samą wartość jak alt.
Wobec tego najpierw wyszukuję alt i jego wartość, następnie zapamiętuje wartość oraz w drugiej linijce, najpierw powtarzam alty tak żeby były takie same przy użyciu $1. Później dopisuję title do którego również za pomocą $1 przypisuję ciąg znaków z atrybutu alt.
 
 

Kiedy nie znałem regexów często podobne zadanie jak to u góry wykonywałem ręcznie. Nie ma jednak się co trudzić!
Dzięki poznanym już grupom najpierw wyszukuję ciąg znaków przed dwukropkiem oraz po. Do jednego przypisuję grupę $1, do drugiego $2. Po czym po prostu odwracam ich kolejność.

Jeśli jesteście ciekawi innych rozwiązań związanych z wyrażeniami regularnymi albo chcielibyście poszerzyć swoją wiedzę na ich temat polecam MDN
 
 
 
 

Piotr Bartnik
Front-End Developer

@piotr.bartnik

SALESmanago o platforma Customer Engagement, zaprojektowana dla efektywnych i głodnych sukcesu zespołów marketingowych w eCommerce. Dla marketerów, którzy pragną być zaufanymi partnerami dla swoich CEO. Z naszego rozwiązania korzysta ponad 2000 biznesów online średniej wielkości w 50 krajach oraz liczne globalne marki takie jak Starbucks, Vodafone, Lacoste, New Balance czy Victoria's Secret.

SALESmanago zapewnia maksymalizację wzrostu przychodów oraz poprawy wskaźników KPI dla eCommerce wykorzystując trzy zasady: (1) Customer Intimacy, aby stworzyć autentyczne relacje z klientami w oparciu o dane Zero- i First-Party, (2) Precision Execution, aby zapewnić doskonałe omnichannelowe doświadczenie klienta dzięki hiper-personalizacji oraz (3) Growth Intelligence, która łączy wskazówki opracowane przez specjalistów oraz AI, umożliwiając pragmatyczne i szybkie podejmowanie decyzji w celu maksymalizacji efektu.

Czytaj więcej na: www.salesmanago.pl

Nie czekaj: Dlaczego IV kwartał to idealny moment na pomnożenie efektów działań marketingowych dzięki SALESmanago
Nie czekaj: Dlaczego IV kwartał to idealny moment na pomnożenie efektów działań marketingowych dzięki SALESmanago

    Wkraczając w burzliwy, jak co roku, czwarty kwartał, wiele firm znajduje się sytuacji paradoksalnej. To najbardziej owocny okres w roku, obiecujący najwyższy ruch i sprzedaż, a jednocześnie właśnie wtedy wiele firm unika wdrażania nowych technologii marketingowych. W SALESmanago rozumiemy przyczyny tej wstrzemięźliwości, ale jesteśmy tutaj, aby rzucić wyzwanie mentalności „poczekaj do czwartego kwartału”. […]

Strategie, które powinien znać prezes każdej firmy e-commerce w erze „Growth Hackingu”
Strategie, które powinien znać prezes każdej firmy e-commerce w erze „Growth Hackingu”

    Autor: Brian Plackis Cheng, dyrektor generalny SALESmanago   Rozwój firmy w dzisiejszym i jakże zmiennym cyfrowym świecie to nie lada wyzwanie. Rola dyrektora generalnego ewoluowała – dziś fundamentem pomyślnego rozwoju firmy na poszczególnych etapach stała się koncepcja „growth hackingu”. Nie chodzi już tylko o przetrwanie, ale też o to, by wyprzedzić konkurencję w […]

eCommerce na przemian rozkwita i popada w stagnację
eCommerce na przemian rozkwita i popada w stagnację

    eCommerce jest kapryśny; popada w stagnację, po czym nagle rozkwita. Ścieżki klientów są nieliniowe. To wiemy na pewno. Bez użytecznych danych klientów i spersonalizowanych ścieżek zakupowych firmy eCommerce tracą prospekty i klientów, doprowadzają swoją markę do stagnacji i trwonią swoją przewagę konkurencyjną.   Korzystanie z danych zero-party i zaawansowanej analityki nie jest już […]

Focus Garden rozkwita z SALESmanago
Focus Garden rozkwita z SALESmanago

    Focus Garden, to lider w branży artykułów ogrodniczych, a ich sukces to opowieść o mocy skutecznego wykorzystania automatyzacji marketingu i strategicznego partnerstwa z SALESmanago.   W ciągu zaledwie roku, nasza współpraca z Focus Garden przyniosła zdumiewające rezultaty:   Imponujący zwrot z inwestycji (ROI) – 6108%  134-procentowy wzrost całkowitej sprzedaży i znaczący wzrost liczby […]

SALESmanago ogłasza zmiany na kluczowych stanowiskach: Nowy CEO i CRO
SALESmanago ogłasza zmiany na kluczowych stanowiskach: Nowy CEO i CRO

    SALESmanago, wiodąca platforma CDP i Marketing Automation, z entuzjazmem informuje o istotnych zmianach w swoim zespole kierowniczym. Zmiany mają na celu optymalizację procesu dostarczania rozwiązań dla segmentu średnich przedsiębiorstw.    Po 13 latach kierowania rozwojem firmy w roli Dyrektora Generalnego, współzałożyciel SALESmanago, Grzegorz Błażewicz, obejmuje nieoperacyjną rolę członka Rady Nadzorczej. Będzie tam odpowiadał […]

30 trików i porad dotyczących korzystania z szablonów e-mail, które zostawią konkurencję w tyle.
30 trików i porad dotyczących korzystania z szablonów e-mail, które zostawią konkurencję w tyle.

    Jak prześcignąć konkurencję eCommerce za pomocą czegoś tak prostego jak szablony wiadomości e-mail? Chcemy czy nie, email marketing pozostaje potężnym narzędziem do angażowania klientów, zwiększania sprzedaży i ostatecznie – wyprzedzania konkurencji. Dzięki odpowiednim strategiom i dobrze opracowanym szablonom e-mailowym można skutecznie komunikować się z odbiorcami, budować trwałe relacje i zwiększać zyski.   Poniżej […]

Jak Pitbull West Coast Przełamał Konwencje z SALESmanago
Jak Pitbull West Coast Przełamał Konwencje z SALESmanago

  Pitbull West Coast stanęło przed wyzwaniem – jak wyróżnić się na zatłoczonym rynku i jeszcze bardziej zaangażować swoją społeczność? Odpowiedzią była współpraca z SALESmanago a zwrot z inwestycji (ROI) osiągnął 2947%   Pitbull West Coast to marka odzieżowa, zainspirowana kulturą uliczną i sportami walki. Budując swoją przewagę konkurencyjną i strategie zaangażowania społeczności, firma napotkała […]

Każdy procent ma znaczenie, czyli jak poprawić współczynnik konwersji w Twojej firmie
Każdy procent ma znaczenie, czyli jak poprawić współczynnik konwersji w Twojej firmie

    W coraz bardziej konkurencyjnym świecie eCommerce istnieją pewne nakazy i zakazy, jeśli chodzi o zachęcanie klientów do dokonywania zakupów w Twoim sklepie. Czynność ta nazywana jest konwersją i jest to najważniejszy wskaźnik, który musisz obserwować, planując budowanie swojej firmy i zwiększanie przychodów – w końcu sklep internetowy z milionami odwiedzających, który nie sprzedaje, […]

Kręcisz z AI? Pamiętaj, bezpieczeństwo zawsze na pierwszym miejscu!
Kręcisz z AI? Pamiętaj, bezpieczeństwo zawsze na pierwszym miejscu!

    W świecie, w którym technologia i handel coraz bardziej się przenikają, firmy eCommerce znalazły się na rozdrożu, szukając sposobu na romans z generatywną sztuczną inteligencją. Niedawno opublikowany raport Gartnera, zatytułowany „4 Ways Generative AI Will Impact CISOs and Their Teams”, dostarcza informacji na temat przyszłości cyberbezpieczeństwa w erze AI. Zatem, entuzjaści eCommerce, jeśli […]

Nie takie straszne węzły i kajdany.
Nie takie straszne węzły i kajdany.

    Co ma wspólnego nowa polityka uwierzytelniania wprowadzona przez Gmail i Yahoo z Kamasutrą? Ano tyle, że z ograniczeń też można czerpać przyjemność. Sprawdźmy.   Główni gracze wprowadzają nowe zasady dla nadawców masowych wiadomości e-mail, przygotowując grunt pod bezpieczniejsze i wydajniejsze środowisko poczty e-mail.   Od 1 lutego Google i Yahoo egzekwują rygorystyczne wytyczne […]