10 RegEx teszter JavaScript, Python, PHP, Golang, Ruby stb.

A reguláris kifejezés fájdalmat okozhat. Hát, néha!

Ismerkedjünk meg a reguláris kifejezésekkel és mintáikkal. Olyan mintákat fogunk megvizsgálni, amelyek a karakterek összeszedett levesének tűnnek. Meglátjuk, mit jelent a reguláris kifejezés minden karaktere.

A cikk elolvasása után létrehozhatja reguláris kifejezéseit, és tetszés szerint használhatja őket. A végén felsorolunk néhány online RegEx-tesztelő eszközt is, így a követelmények alapján létrehozhatja a RegEx-et, és tesztelheti azt ezekkel az eszközökkel.

Bevezetés

Reguláris kifejezések vagy általánosan ismert – A reguláris kifejezés bármely karaktersorozat, amely mintaként használható karakterek vagy karakterláncok kereséséhez.

Például – annak meghatározására, hogy egy karakterlánc vagy kifejezés tartalmazza-e az „alma” szót, használhatjuk a „/apple” regex-et a karakterláncon belüli kereséshez. Egy másik példaként használhatjuk a „/[0-9]” segítségével ellenőrizheti, hogy egy adott karakterlánc tartalmaz-e 0 és 9 közötti számot.

Reguláris kifejezések és használatuk

A reguláris kifejezéseket széles körben használják különféle célokra a modern webhez kapcsolódó műveletekben. A webes űrlapok, a webes keresőmotorok, az IDE-k lexikális elemzői, a szövegszerkesztők és a dokumentumszerkesztők ellenőrzése néhány példa közé tartozik, ahol gyakran használnak reguláris kifejezéseket.

  Rögzítsen videót az aktuális lapról Chrome-ban a Screencastify segítségével

Mindannyian sokszor használtuk a „CTRL + F” billentyűket, hogy egy dokumentumon vagy egy kódrészleten belül keressünk egy adott szót, kifejezést vagy kifejezést. Ez a művelet a reguláris kifejezések használatának igen gyakori példája.

Mielőtt továbbmennénk, vessünk egy pillantást egy nagyon gyakran használt reguláris kifejezésre.

Kitaláljátok 🤔 az alábbi RegEX-et mire használják?

^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$

Ne aggódj, ha nem tudod kitalálni. Biztos vagyok benne, hogy a cikk végére kitalálnád.

Először kezdjük a RegEx A, B és C elemeivel.

Tokenek

Kezdésként nézzük meg a fent látható Regex különböző szimbólumait.

^([a-zA-Z0-9_-.]+)@([a-zA-Z0-9_-.]+).([a-zA-Z]{2,5})$

Ha megnézzük a fent megadott reguláris kifejezést, láthatjuk, hogy sok szimbólumból vagy karakterből vagy tokenből áll. Nézzük meg, mit jelentenek:

Jelképes

Jelentése

^

Ez a token egy karakterlánc kezdetét jelöli.

(…)

Ez egy olyan csoportot jelöl, ahol minden, ami a (…)-n belül adott, megragadva.

[…]

Az [] olyan karaktereket tartalmaz, amelyek bármelyike ​​illeszkedik. Például – [abc] megfelelni fog a-nak vagy b-nek vagy c-nek.

az

A kisbetűk halmaza a-tól z-ig. Szem előtt kell tartanunk, hogy a Regex megkülönbözteti a kis- és nagybetűket.

AZ

A nagybetűk halmaza A-tól Z-ig.

  Javítás: A Virtualbox nem tudja behelyezni a virtuális optikai lemezt

0-9

A számjegyek 0-tól 9-ig.

_

Ez megegyezik a _ karakterrel.

Ez a menekülő karakter.

.

Ez megfelel a „.” karakternek. szó szerint. Ezt azért használjuk, mert a „.” a regexben önmagában egy token, amely bármely karakterhez illeszkedik

+

Ez egy kvantor. Ez megfelel egy vagy több karakternek, amellyel együtt használják. Például az a+ az a karakter egy vagy több előfordulását jelenti.

Ez megegyezik a „-” karakterrel.

@

Ez egyezni fog a „@” karakterrel.

{}

Ez egy másik kvantor. Egy karakter előfordulásának számának jelölésére szolgál. Például az a{3} pontosan 3 a-t jelent.

$

Ez egy karakterlánc végét jelöli.

Az adott Regex minta bontása

Most a tokenek ezen előzetes tudásával felvértezve próbáljuk meg dekódolni a fenti reguláris kifejezést:

  • ^([a-zA-Z0-9_-.]+) azt jelenti, hogy olyan karakterláncot keresünk, amely legalább egy vagy több nagy- vagy kisbetűs alfanumerikus karakterrel, aláhúzásjellel, kötőjellel vagy ponttal kezdődik. Például bármi, ami hasonlít a user_name.01-hez, megfelel a mintának. Emlékeznünk kell arra, hogy itt nem kell minden szimbólumot tartalmaznia, csak egy karaktert [a-zA-Z0-9_-.] megteszi.
  • A @ karakter a @ egyetlen előfordulására egyezik. Az előző példát kiegészítve valami ilyesmi [email protected] illeszkedni fog.
  • ([a-zA-Z0-9_-.]+) hasonló az első ponthoz. Ez azt is jelenti, hogy olyan karakterláncot keresünk, amely legalább egy alfanumerikus karaktert, aláhúzást, kötőjelet vagy pontot tartalmaz. A példát kiegészítve, [email protected] ide fog férni.
  • Amint azt már sejtette, egy e-mail-mintára utalunk. Továbblépni, . megfelel a „.” karakter. Ha a folyamatban lévő példával folytatjuk, valami ilyesmi [email protected]
  • ([a-zA-Z]{2,5})$ ez azt jelenti, hogy a karakterláncnak 2–5 ábécé karakterrel kell végződnie, akár nagybetűvel, akár kisbetűvel. Ha hozzáadjuk a .com-ot az előző példához, akkor megkaphatjuk [email protected]amely egy e-mail karakterlánc általános mintája.
  Miért tárolják a vállalatok továbbra is egyszerű szövegben a jelszavakat?

A fentieket kombinálva láthatjuk, hogy egy e-mail azonosító karakterláncot keresünk. Most már használhatjuk ezt a kifejezést bármely e-mail azonosító érvényesítésére. Ha teszt e-mail azonosítónk megegyezik ezzel a mintával, akkor azt mondhatjuk, hogy érvényes e-mail azonosító.

PS – Ez a minta a leggyakrabban használt e-mail azonosítókhoz az interneten.

A tokenek típusai

Számos token használható különféle kombinációkban a Regexen belül a kifejezések széles skálájának leírására. Az alábbiakban áttekintjük a reguláris kifejezésekben használt különböző típusú tokeneket. Továbbá megvizsgáljuk az egyes kategóriákban leggyakrabban használt tokeneket.

Alap tokenek

Kezdjük az alapvető tokenekkel. Ezeket a tokeneket szinte minden reguláris kifejezéssel használják. Ezért először meg kell tanulnunk őket.

Jelképes

Jelentése

r

Ez megegyezik a kocsivissza karakterrel.