A regex (reguláris kifejezések) kapcsán már korábban is írtam az oldalon (ezeket a cikk végén megtalálod), de most egy új eszközt találtam, ami rendkívül hasznos szerintem, úgyhogy ajánlanám neked is. Ha esetleg a témában teljesen új vagy, vagy még csak nem is hallottad ezt a szót, akkor a következő 1-2 bekezdés neked szól.
Ha tudod mi az a regex akkor csak ugord át őket és nézd meg az ajánlott weboldalt!
Tartalomjegyzék
Mi a regex?
A regex, vagy teljes nevén reguláris kifejezés, egy olyan minta, amely segít szövegekben sztringeket keresni, ellenőrizni, helyettesíteni vagy kinyerni. A regexek egy speciális karakterekből és szintaxisból álló nyelvvel íródnak, amely lehetővé teszi a minták összetett és rugalmas meghatározását.
Például, ha egy adott formátumú e-mail címet szeretnél keresni egy szövegben, a következő regexet használhatod:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Ez a regexp meghatározza az e-mail címek elvárt szerkezetét: egy vagy több betűből, számokból, pontokból, aláhúzásokból, százalékjelekből, pluszokból és kötőjelekből álló karakterlánc, amelyet @ jel követ, majd egy domain név (amely szintén betűket, számokat és kötőjeleket tartalmazhat) és egy pont után a domain kiterjesztés (amely legalább két betűből áll).
A regexek általában programozási nyelvekben vagy szövegszerkesztőkben használhatók, és nagyon hasznosak a minták alapján történő keresés, ellenőrzés, helyettesítés vagy elemzés során.
A fenti példa egy egyszerű példa a regex használatára, de a regexek sokkal összetettebb mintákat is leírhatnak. A reguláris kifejezések alapos ismerete jelentősen megkönnyítheti a szövegmanipulációs feladatokat és az adatfeldolgozást.
Azonban fontos megjegyezni, hogy a regexek nem mindig a legjobb megoldás minden problémára. Bonyolultabb szövegstruktúrák, mint például a HTML vagy XML dokumentumok, általában nem kezelhetők jól csak regexekkel, és ilyen esetekben érdemes más, specializált eszközöket vagy könyvtárakat használni.
Mire használható a regexp?
Én általában hosszabb szöveges listák takarítására szoktam használni, amikor valamiféle minta alapján ki lehet szűrni a tartalomból a számomra fontos (vagy épp törölni kívánt) részeket.
De a regex, vagy reguláris kifejezés, számos más hasznos feladatra is alkalmazható szövegfeldolgozás és adatmanipuláció során. Íme néhány példa a regex használatára:
Keresés és egyezés: A regex segítségével könnyen megtalálhatod a szövegben előforduló mintákat. Például, ha telefonszámokat szeretnél keresni egy adott formátumban, használhatod ezt a regexet:
\d{3}-\d{2}-\d{4}
Adatellenőrzés: A regexekkel ellenőrizheted, hogy a bemeneti adatok megfelelnek-e egy adott mintának vagy formátumnak. Például egy e-mail cím formátumának ellenőrzéséhez használhatod a korábban említett regexet:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Szöveg helyettesítés: Regexekkel cserélheted ki a szöveg egyes részeit. Például, ha a szövegben előforduló webcímeket szeretnéd eltávolítani, használhatod ezt a regexet:
https?://[^\s]+
és helyettesítheted üres karakterlánccal vagy egyéb szöveggel.
Adatkinyerés: A regexek segítségével kiemelheted és kinyerheted a szövegből az érdekes részeket. Például, ha egy szövegből a dátumokat szeretnéd kinyerni, használhatod a következő regexet:
\d{4}-\d{2}-\d{2}
Szövegtördelés: Regexekkel tördelheted a szöveget a megadott minta alapján. Például, ha egy szöveget mondatokra szeretnél bontani, használhatod ezt a regexet:
[.!?]\s+
Felhasználói név vagy jelszó validálása: A regexek segítségével ellenőrizheted, hogy a felhasználó által megadott adatok megfelelnek-e a kívánt formátumnak és biztonsági követelményeknek. Például a következő regex garantálja, hogy a jelszó legalább 8 karakter hosszú, tartalmaz kisbetűt, nagybetűt és számot:
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$
URL vagy fájl elérési út elemzése: A regexek segítségével könnyen kinyerheted az elérési út különböző részeit, például a protokollt, a domain nevet vagy a fájlnév kiterjesztését. Például, a fájlkiterjesztés kinyeréséhez használhatod ezt a regexet:
\.([a-zA-Z0-9]+)$
Formázott szöveg eltávolítása: Ha szeretnéd eltávolítani a formázott szövegeket, mint például a HTML vagy Markdown elemeket egy szövegből, használhatod a regexeket. Például a HTML tagek eltávolításához használhatod ezt a regexet:
<(?:[^>=]|='[^']*'|="[^"]*"|=[^'"][^\s>]*)*>
Ezek csak néhány példa a regexek széleskörű alkalmazásaira. :)
regex.ai – online generátor
Ezt a weboldalt a “Ben’s Bites” AI hírlevélben találtam és rendívül hasznosnak, könnyen használhatónak gondolom.
weboldal: https://regex.ai/
Lényegében villámgyorsan lehet a segítségével regex kifejezéseket generálni. A bal felső sarokban lévő mezőbe berakod a feldolgozandó szöveges tartalmat. Utána kijölöd benne egérrel azokat a tartalmakat, amikre a regex kifejezést szeretnéd felépíteni. Akár több részletet, mintát is megadhatsz.
Majd katt a RUN gombra és lentebb megkapsz 4 verziót, melyek eredményét is egyből mutatja.
Ha van közötte olyan (jó eséllyel lesz), ami megfelelő neked, akkor már csak másolod és beilleszted a szövegeditor programodba (vagy ahol a teljes szöveges állomány megvan).
Elég egyszerű és kényelmes a használata, nem? :)
Források:
RegExr: Learn, Build, & Test RegEx
Learn Regex: A Beginner’s Guide — SitePoint
The Complete Guide to Regular Expressions (Regex) – CoderPad