regex
Reguláris kifejezés
Regex a mozaikszó Reguláris kifejezés.
Mi Reguláris kifejezés?
Egy keresési mintát meghatározó karaktersorozat. Ezeket a keresési mintákat karakterláncok vagy karakterlánc-készletek egyeztetésére és manipulálására használják.
A reguláris kifejezések fogalmát először az 1950-es években vezették be, amikor Stephen Kleene amerikai matematikus formalizálta a reguláris nyelvek leírását, amelyek a véges automatákkal felismerhető nyelvek osztálya. Az 1980-as években a reguláris kifejezéseket bevezették a UNIX világába, és azóta számos programozási nyelv és eszköz standard szolgáltatásává váltak.
Szinte minden modern programozási nyelv támogatja a reguláris kifejezéseket. Néhány példa a Python, a Java, a C++, a C# és a JavaScript. Ezenkívül számos szövegszerkesztő, például a vim, az emacs és a Sublime Text, támogatja a reguláris kifejezéseket a keresési és csereműveletekhez.
A reguláris kifejezések nagyon erősek lehetnek, és speciális karakterek és szintaxis széles skáláját tartalmazhatják a karakterláncok egyeztetésére és manipulálására. Számos online forrás és oktatóanyag áll rendelkezésre, amelyek segítségével többet megtudhat a reguláris kifejezésekről és használatukról.
Íme egy példa egy reguláris kifejezésre, amely képes érvényesíteni egy nemzetközi telefonszámot:
^\+(?:[0-9] ?){6,14}[0-9]$
Íme a fenti reguláris kifejezés egyes lépéseinek lebontása:
^
– Ez a szimbólum megegyezik a karakterlánc elejével.\+
– Ez megegyezik a telefonszám elején található pluszjellel. A fordított perjel arra szolgál, hogy elkerülje a plusz szimbólum különleges jelentését, amely megfelel az előző karakter egy vagy több előfordulásának.(?:[0-9] ?){6,14}
– Ez egy nem rögzítő csoport, amely egy számjegy (6-14) és egy tetszőleges szóközzel 0 és 9 előfordulása között egyezik meg. Az?:
egy nem rögzítő csoport létrehozására szolgál, ami azt jelenti, hogy a csoport illeszkedik, de nem fogja rögzíteni a csoport által egyeztetett szöveget. A rögzítési csoportok a reguláris kifejezés egy részének megfelelő szöveg tárolására szolgálnak későbbi felhasználás céljából.[0-9]
– Ez egy számjegynek felel meg (0-9).$
– Ez a szimbólum megegyezik a karakterlánc végével.
Íme néhány példa azokra a telefonszámokra, amelyek megfelelnek ennek a reguláris kifejezésnek:
- + 1 555 555 5555
- + 44 20 7123 4567
- + 61 2 9876 5432
- +1 (555) 555-5555
- + 44 20 7123 4567
Íme néhány példa azokra a telefonszámokra, amelyek nem egyeznek:
- 555-555-5555 (hiányzik a bevezető „plusz” jel)
- +1 555 555 (túl kevés számjegy)
- +1 555 555 55555 (túl sok számjegy)
Ne feledje, hogy ez csak egy módja egy nemzetközi telefonszám érvényesítésének, és sok más reguláris kifejezés is használható erre a célra. Azt is fontos megjegyezni, hogy ez a reguláris kifejezés nem fogja ellenőrizni, hogy a telefonszám valóban használatban van-e, vagy hogy egy adott személyhez tartozik-e. Csak azt ellenőrzi, hogy a szám érvényes formátumban van-e.
Szintén rövidítve regexp.
- Rövidítés: regex