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

Pracuj jak dziesięciu najlepszych marketerów naraz! Różnica między Workflow, który działa, a takim, który nie bardzo
Pracuj jak dziesięciu najlepszych marketerów naraz! Różnica między Workflow, który działa, a takim, który nie bardzo

    Lean Marketing wymaga skuteczności, ale taki tytuł może wydawać się przesadą. To nie jest jednak wygórowane oczekiwanie, a propozycja rozwiązania. Jest to wykonalne – jeśli masz odpowiedni Workflow. W tym artykule wyjaśnimy, czym jest Workflow, jak działa, kto odpowiada za jego efektywność, a ostatecznie – jak skorzystać z doświadczenia twórców szablonów. Utrata produktywności […]

[Nowa funkcjonalność] Szablony Workflow opracowane przez ekspertów eCommerce, dopasowane do twoich celów marketingowych
[Nowa funkcjonalność] Szablony Workflow opracowane przez ekspertów eCommerce, dopasowane do twoich celów marketingowych

    Zebraliśmy naszych czołowych ekspertów eCommerce, którzy na co dzień pracują z największymi światowymi markami, aby całkowicie przeprojektować szablony Workflow w naszej Bibliotece. Ludzie ci włożyli tysiące godzin swojego doświadczenia i unikatową wiedzę w stworzenie nowych, ulepszonych szablonów. Wszystko to, aby zaoszczędzić Twój czas. Ponadto, do Biblioteki dodaliśmy Generator Workflow — pierwszą taką funkcję […]

[Nowa Funkcjonalność] Zmaksymalizuj swój wpływ i kontrolę dzięki nowemu eCommerce Dashboard
[Nowa Funkcjonalność] Zmaksymalizuj swój wpływ i kontrolę dzięki nowemu eCommerce Dashboard

    Nasza najnowsza funkcjonalność, eCommerce Dashboard, agreguje dane z platform eCommerce oraz oprogramowania marketingowego i prezentuje je w jednym miejscu, w czasie rzeczywistym, 24 godziny na dobę, 7 dni w tygodniu. Jako, że umożliwia szybki przegląd wydajności sklepu internetowego, a także szczegółowe śledzenie różnych aspektów biznesu, stanowi niezwykle skuteczne, wielokanałowe narzędzie Growth Intelligence.   […]

SALESmanago przeprowadzi się do dedykowanego biurowca w Ocean Office Park na krakowskim Zabłociu
SALESmanago przeprowadzi się do dedykowanego biurowca w Ocean Office Park na krakowskim Zabłociu

    SALESmanago, największa w Polsce i najszybciej rosnąca firma tworząca rozwiązania technologiczne dla eCommerce, we wrześniu przyszłego roku przenosi swoją siedzibę do nowo powstającego Ocean Office Park na krakowskim zabłociu. Grupa Cavatina rozpoczęła już prace nad biurowcem, który zapewni dedykowaną, nowoczesną przestrzeń dla blisko 700 obecnych i przyszłych pracowników SALESmanago.    Charakterystyczny, okrągły Ocean […]

6 prognoz na Black Friday dla eCommerce. Czego oczekuje od Ciebie Internet i co z tym zrobić?
6 prognoz na Black Friday dla eCommerce. Czego oczekuje od Ciebie Internet i co z tym zrobić?

    Black Friday będzie rokiem 2022 w pigułce. Internet pęka w szwach od prognoz i strategii. W tym artykule przedstawiamy sześć najbardziej rozpowszechnionych, istotnych lub po prostu interesujących. Przedstawiamy również nasze podejście do nich. Ale przede wszystkim podpowiadamy, co z nimi zrobić. Na honorowe wyróżnienie zasługują prognozy: zabawki rozejdą się jak świeże bułeczki, ubrania […]

Jak zwiększyć Customer Lifetime Value dzięki platformie Customer Engagement
Jak zwiększyć Customer Lifetime Value dzięki platformie Customer Engagement

    Zwiększanie Customer Lifetime Value to jeden z najskuteczniejszych sposobów na podniesieniea przychodów. W końcu klient, którego już mamy, kosztuje nas znacznie mniej niż konwersja nowego użytkownika. W tym artykule pokażemy cztery scenariusze, w których możesz inteligentnie wykorzystać platformę Customer Engagement, aby zapewnić klientom większą wartość i zarobić więcej pieniędzy w tym procesie.   […]

Idealna strona docelowa – audyt Landing Page’a krok po kroku
Idealna strona docelowa – audyt Landing Page’a krok po kroku

    Wyobraź sobie, że masz niesamowicie efektowną stronę docelową, dzięki której dynamicznie przybywa Ci nowych leadów. Statystyki pną się w górę, a sprzedaż rośnie w oszałamiającym tempie. Jak stworzyć dobry landing page, który przyciągnie uwagę? Landing page, czyli strona docelowa, to miejsce, gdzie po kliknięciu w reklamę lub link w mailu trafia odbiorca. Od dobrze stworzonej […]

SALESmanago wzmacnia zespół C-Level Exec, szykując się na czterokrotny wzrost na terenie Europy, i doskonaląc swoje wsparcie marketerów eCommerce … z głową.
SALESmanago wzmacnia zespół C-Level Exec, szykując się na czterokrotny wzrost na terenie Europy, i doskonaląc swoje wsparcie marketerów eCommerce … z głową.

    26 września 2022, Kraków: Po dziewięciocyfrowej inwestycji ze strony Silver Tree i Perwyn, SALESmanago wzmacnia swój zespół wykonawczy C-Level. Celem jest zwiększyć przychody z 20 do 100 milionów Euro w ciągu najbliższych czterech lat i objąć pozycję europejskiego lidera customer engagement.   Nowi członkowie C-Level to doświadczeni liderzy z organizacji B2B, eCommerce i […]

Badanie firmy Forrester Consulting: 90% firm marketingowych rozpocznie pozyskiwanie Danych Zero-Party w ciągu roku
Badanie firmy Forrester Consulting: 90% firm marketingowych rozpocznie pozyskiwanie Danych Zero-Party w ciągu roku

    Prawie wszyscy przedsiębiorcy planują rozpocząć pozyskiwanie Danych Zero-Party w celu rozwiązania problemu deprecjacji informacji. Jednocześnie, jak pokazują badania Forrestera, mniej niż połowa z nich wie, jak z powodzeniem korzystać z takich zbiorów danych!   W lutym 2022 r. Forrester Consulting przeprowadził ankietę wśród 200 osób decyzyjnych różnych szczebli (manager+), skoncentrowanych na pozyskiwaniu klientów. […]

Czy Customer Engagement Platform to tylko chwytliwy buzzword na CDP?
Czy Customer Engagement Platform to tylko chwytliwy buzzword na CDP?

    Customer Engagement Platform to znacznie więcej niż platforma Customer Data, którą już znasz, być może nawet używasz. Jej funkcje znacznie wykraczają poza zbieranie i ujednolicanie danych, a umacniający wpływ na zespoły marketingowe jest ogromny. W tym artykule szczegółowo wyjaśnimy różnicę między tymi systemami. Aby stawić czoła wyzwaniom obecnej recesji, marketerzy muszą w dużym […]