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

Ważna aktualizacja naszych Ogólnych Warunków Umów w związku z unijnym Data Act
Ważna aktualizacja naszych Ogólnych Warunków Umów w związku z unijnym Data Act

    Jako Twój zaufany partner, czujemy się odpowiedzialni za Twoje bezpieczeństwo prawne i rozwój. Nieustannie monitorujemy zmiany w przepisach, dlatego proaktywnie aktualizujemy nasze Ogólne Warunki Umów (OWU), aby zapewnić jej zgodność z nowym unijnym Akt w sprawie danych.   Celem tych aktualizacji jest wzmocnienie Twoich praw, co przekłada się na większą elastyczność i kontrolę […]

Jak zrewolucjonizować handel detaliczny w branży fashion: Historia sukcesu Monnari
Jak zrewolucjonizować handel detaliczny w branży fashion:  Historia sukcesu Monnari

    Monnari, uznana polska marka odzieżowa z 25-letnią tradycją, jest ceniona za swój unikalny design, tworzony specjalnie z myślą o polskim rynku mody kobiecej. Łącząc tradycję z nowoczesnością, Monnari oferuje ponadczasowe, wszechstronne kolekcje, przywiązując szczególną wagę do detali w swoich projektach. By móc odpowiadać na potrzeby konsumentów, Monnari prowadzi rozbudowaną sieć sprzedaży, obejmującą sklepy […]

SALESmanago przejmuje Thulium od Spire Capital Partners, ujednolicając marketing i obsługę klienta, by stworzyć płynne, spersonalizowane doświadczenia zakupowe oparte na AI
SALESmanago przejmuje Thulium od Spire Capital Partners, ujednolicając marketing i obsługę klienta, by stworzyć płynne, spersonalizowane doświadczenia zakupowe oparte na AI

    SALESmanago wyznacza nowy standard angażowania klientów, stając się pierwszą platformą, która w pełni integruje pozyskiwanie klientów, zarządzanie ich danymi, automatyzację marketingu, komunikację wielokanałową i obsługę klienta. Europejskie marki eCommerce średniej wielkości mogą teraz zwiększać swoje przychody, monetyzując spersonalizowane interakcje na każdym etapie ścieżki zakupowej.   Kraków, Polska, 24 lipca 2025 – SALESmanago, wiodąca […]

SALESmanago uruchamia platformę marketingową działającą w czasie rzeczywistym, aby skrócić czas tworzenia kampanii z godzin do minut
SALESmanago uruchamia platformę marketingową działającą  w czasie rzeczywistym, aby skrócić czas tworzenia kampanii  z godzin do minut

    Inteligentniejsze i szybsze narzędzia komunikacyjne eliminują bariery w realizacji działań, umożliwiają marketing konwersacyjny i zapewniają natychmiastową personalizację we wszystkich kanałach kontaktu z klientem.   Kraków, Polska; 15 lipca 2025 – SALESmanago, wiodąca europejska Platforma Customer Engagement, ogłosiła serię strategicznych zmian produktowych skoncentrowanych na wsparciu marketerów w szybszej, efektywniejszej i pewniejszej pracy.   Celem […]

TikTok commerce, dark social i zmierzch SEO: badanie SALESmanago ujawnia, co spędza sen z powiek marketerom z sektora detalicznego
TikTok commerce, dark social i zmierzch SEO: badanie SALESmanago ujawnia, co spędza sen z powiek marketerom z sektora detalicznego

    Badanie przeprowadzone wśród europejskich marek e-commerce wskazuje na wyzwania technologiczne wynikające z ewolucji oczekiwań     i zachowań konsumentów.   Kraków, 20 maja 2025 r.: Nadchodzi kres SEO w tradycyjnej odsłonie – tak wynika z najnowszego badania przeprowadzonego przez SALESmanago, czołową europejską platformę zarządzania zaangażowaniem klientów. Aż 73% marketerów w sektorze e-commerce i […]

Ambitniejsze cele, mniejsze budżety: aż 73% marketerów, mimo korzystania z AI, ma problem z osiągnięciem założonych na ten rok celów przy ograniczonych zasobach
Ambitniejsze cele, mniejsze budżety: aż 73% marketerów, mimo korzystania z AI, ma problem z osiągnięciem założonych na ten rok celów przy ograniczonych zasobach

    Z ostatniego badania SALESmanago wynika, że dziś sukces w marketingu warunkuje sztuczna inteligencja – mimo to problemy narastają z uwagi na cięcia kadrowe i coraz większą presję   Kraków, 3 kwietnia 2025 r. Z ostatniego badania SALESmanago, czołowej europejskiej platformy zarządzania zaangażowaniem klientów obsługującej ponad 3 tys. klientów, wynika, że marketerom w Europie […]

AI Sidekick – nowe inteligentne narzędzie SALESmanago mierzy i zwiększa wydajność w eCommerce
AI Sidekick – nowe inteligentne narzędzie SALESmanago mierzy i zwiększa wydajność w eCommerce

    AI Sidekick usprawnia marketing e-commerce, zapewniając inteligentną automatyzację, większe zaangażowanie klientów i dużą elastyczność   Kraków, 12 marca 2025 r.  SALESmanago – czołowa europejska platforma zarządzania zaangażowaniem klientów obsługująca ponad 3 tys. firm – poinformowała dziś o rozszerzeniu funkcji AI Sidekick – spersonalizowanej warstwy AI zaprojektowanej z myślą o większej wydajności w e-commerce, […]

SALESmanago napędza wzrost marki z tradycjami
SALESmanago napędza wzrost marki z tradycjami

    O kliencie: Jubiler Schubert – Tradycja i Nowoczesność   Jubiler Schubert to marka o bogatej historii sięgającej XIX-wiecznego Wiednia. Założona przez Sykstusa Schuberta pracownia złotnicza dała początek rodzinnej tradycji, kontynuowanej dziś przez Sebastiana Schuberta. Firma, specjalizująca się w wytwarzaniu i sprzedaży wysokiej jakości biżuterii, stała się jedną z największych sieci jubilerskich w Polsce. […]

Skuteczna personalizacja SALESmanago zwiększa przychody z e-commerce
Skuteczna personalizacja SALESmanago zwiększa przychody z e-commerce

    Nowe inteligentne narzędzie powstało z potrzeby większej personalizacji, dzięki której zespoły e-commerce mogłyby tworzyć indywidualne doświadczenia klientów Jak pokazują wyniki z okresu wyprzedaży Black Friday, stosowanie technik personalizacji przyniosło sprzedawcom 19% więcej interakcji   Kraków, 15 stycznia 2025 r.:  SALESmanago – czołowa europejska platforma zarządzania zaangażowaniem klientów obsługująca ponad 3 tys. klientów – […]

SALESmanago nawiązuje współpracę z PrestaShop, aby rozszerzyć swoją ofertę inteligentnych rozwiązań na sektor eCommerce w Europie
SALESmanago nawiązuje współpracę z PrestaShop, aby rozszerzyć swoją ofertę inteligentnych rozwiązań na sektor eCommerce w Europie

    Współpraca stanowi kolejny krok – po niedawnym przejęciu Leadoo – w rozwoju platformy zarządzania zaangażowaniem klientów w Europie.   Kraków, 18 grudnia 2024 r.: SALESmanago, lider segmentu SaaS obsługujący ponad 3 tys. klientów, nawiązał strategiczną współpracę z PrestaShop – jedną z najpopularniejszych platform eCommerce w Europie, która wspiera ponad 300 tys. firm w […]