Fogalomtár › Fejlesztői alapszavak
reguláris kifejezés
angolul: regular expression
A reguláris kifejezés egy tömör, jelekből álló keresőminta, amellyel a számítógép megtalálja a szövegben az adott formájú részeket, például telefonszámokat vagy e-mail-címeket.
Érthetően
A sima keresővel (Ctrl+F) egy konkrét szót keresel, például azt, hogy „Kovács”. A reguláris kifejezéssel formát keresel: „négy számjegy, kötőjel, két számjegy, kötőjel, két számjegy”. Így egyszerre megtalálod az összes ilyen formában írt dátumot (például 2026-11-10), akármelyik napról van szó.
Olyan ez, mint amikor a postás nem egy bizonyos levelet keres, hanem minden olyan borítékot, amelyen négy számjegyű irányítószám áll. Nem a tartalmat ismeri, hanem a formát, és az alapján válogat.
A minta furcsa jelekből áll, ezért elsőre ijesztő: a \d például „egy számjegy”, a + pedig „egy vagy több az előzőből”. Cserébe egyetlen sorral elvégezhető, ami kézzel órákig tartana: adatok kigyűjtése, űrlapok ellenőrzése, tömeges csere.
A nyelvi modellekkel szemben a regex nem „érti” a szöveget és nem találgat: ugyanarra a szövegre mindig ugyanazt az eredményt adja. Ezért használják a kódoló agentek is, amikor gyorsan és pontosan kell keresniük sok fájlban.
Hogyan működik
- Megírod a mintát: a betűk és számok önmagukat jelentik, a különleges jelek pedig szabályokat. Például a \d{4} azt jelenti: pontosan négy számjegy egymás után.
- A program a szöveg elejétől indulva karakterről karakterre megpróbálja ráilleszteni a mintát.
- Ha egy ponton elakad, a legtöbb program visszalép, és más lehetőséget próbál, vagy egy karakterrel arrébb újrakezdi. Néhány kereső (például a Go és a Rust nyelvé) visszalépés nélkül dolgozik: ez nem tud belassulni, cserébe néhány haladó lehetőséget nem ismer.
- Ahol a minta teljes egészében illeszkedik, ott találatot jelez. Ezt a részt ki lehet emelni, ki lehet gyűjteni, vagy le lehet cserélni másra.
- A zárójelekkel a találat egyes darabjait külön is megjelölheted, így például egy dátumból külön kiveheted az évet, a hónapot és a napot.
Példa a mindennapokból
Amikor egy webes űrlap azonnal pirossal jelzi, hogy „érvénytelen e-mail-cím” vagy „a jelszónak tartalmaznia kell számot”, a háttérben gyakran egy reguláris kifejezés ellenőrzi, amit beírtál. Ugyanezt használod a Google Táblázatok keresés és csere ablakában (ha bekapcsolod ezt a lehetőséget), valamint a Google Táblázatok és a Microsoft 365-ös Excel REGEX kezdetű függvényeiben. A Word helyettesítő karakteres keresése hasonló elven működik, de saját, egyszerűbb jelölést használ.
Kit érint
Gyakori félreértés
Korlátok és kockázatok
- Nehezen olvasható: egy hosszabb mintát pár hét múlva gyakran a saját szerzője sem ért, ezért könnyű benne hibát hagyni.
- Csak a formát ellenőrzi, a valóságot nem: egy formailag hibátlan e-mail-cím attól még lehet nem létező.
- A rosszul megírt minta bizonyos szövegeken a sok visszalépés miatt rendkívül lelassulhat, és akár egy egész szolgáltatást megbéníthat.
- A jelölés programonként kissé eltér, ezért ugyanaz a minta nem mindenhol működik ugyanúgy.
- Az AI által írt regexet is ki kell próbálnod valódi példákon, mert a szélső eseteket (ékezetek, szóközök, külföldi formátumok) gyakran elvéti.
Hasonló, de nem ugyanaz
- helyettesítő karakter (wildcard) – A fájlnevekben használt csillag és kérdőjel (pl. *.pdf) jóval egyszerűbb, és kevesebbet tud, mint a reguláris kifejezés.
- szemantikus keresés – A szemantikus keresés jelentés alapján talál rokon értelmű szövegeket, a regex viszont kizárólag a karakterek pontos mintázatát nézi.
- prompt – A prompt köznyelvi utasítás egy nyelvi modellnek, amely értelmezi azt, a regex viszont szigorú formális jelölés, amelyet a gép betű szerint hajt végre.
Kapcsolódó fogalmak
mintaillesztés, szövegfeldolgozás, formális nyelv
karakterosztály, kvantor, rögzítő csoport
helyettesítő karakter, bemenet-ellenőrzés, parancssor, szemantikus keresés, adattisztítás, kódoló agent, szkript
Röviden a története
A fogalom elméleti alapjait Stephen Kleene amerikai matematikus írta le 1951-ben egy kutatási jelentésben, amely 1956-ban jelent meg nyomtatásban. A gyakorlatba Ken Thompson vitte át: 1968-ban keresőalgoritmust publikált rá, és beépítette a QED, majd a Unix ed szövegszerkesztőjébe. Innen származik a grep parancs is.
Hol tart most
2026 végén szinte minden programozási nyelv, a legtöbb kódszerkesztő és a nagy táblázatkezelők (a Google Táblázatok és az Excel Microsoft 365-ös változata) is támogatják. A mintákat egyre többször AI-asszisztens vagy kódoló agent írja meg az ember helyett, de az ellenőrzés továbbra is rád marad.
Más nevei
reguláris kifejezés · regex · regexp · RegEx · regular expression · szabályos kifejezés · regex minta · RE
Források
A szócikk gépi szerkesztéssel készült és gépi szakmai lektoráláson ment át; a „hírekben” rész az Agent Age sztorijaiból automatikusan frissül.