Bevezetés

Akár múltjukat, akár széleskörű felhasználhatóságukat tekintjük, a reguláris kifejezésekkel méltatlanul mostohán bánt az informatika története: a hétköznapi fölhasználó a legritkábban használja ezeket, s megkockáztathatjuk, hogy a szakemberek jelentős része sem kellően járatos a világukban.

Az idegtudós Warren Sturgis McCulloch és a logikával foglalkozó Walter Harry Pitts 1943-ban megjelent cikke alapozta meg az idevágó kutatásokat, erre is épített aztán Stephen Kleene 1956-os dolgozata. (Walter Pitts nevét már csak azért is érdemes számon tartani, hogy szükség esetén az ember szerénységre intse önnönmagát: amellett, hogy audidakta módon elsajátított még néhány nyelvet az ógörög és a latin mellé, 12 évesen levelet írt Bertrand Russellnek, amelyben kifejtette, hogy milyen problémákat lát a Principia Mathematica első kötetének első felében – erre válaszként a szerző meghívta őt Cambridge-be az egyetemre.)

Aztán éppen ötven ézzel ezelőtt, 1968-ban a unix egyik alkotója, Ken Thompson írt újabb cikket a témában; mi több, első ízben implemetálta a reguláris kifejezésekkel való keresés lehetőségét a qed nevű állományszerkesztőben (ha valakinek így ismerősebb lenne: ez a program volt az ed és a sed egyik előzménye, hatása még az awk vagy a perl esetén is kimutatható).

Ennek mintájára a mai napig reguláris kifejezésekkel segíti a keresést és a cserét minden valamirevaló szövegszerkesztő (vagy éppen táblázatkezelő), de éppen úgy használhatjuk ezeket egy igényesebb adatbáziskezelő nyelv lekérdezéseiben is. Ismeri őket sok programozási nyelv, és része lehet egy operációs rendszernek is sok rájuk építő segédprogram.

A szakkönyveiről méltán híres O'Reilly kiadó 544 oldalas kiadványának címe alapján 544 oldal elég lehet, hogy az olvasó a téma mesterévé váljék (Jeffrey Friedl: Mastering Regular Expressions, 3rd Ed) – e sorok írója is csak a lehetőségek töredékét ismeri, illetve használja aktívan. Úgy érzi azonban, hogy már ezzel is hihetelenül hasznos ismereteket szerzett, s azt kívánja, hogy minél többen ismerjék meg a hatékony munkavégzés eme eszközét.

A következő példák a unix parancsorának (is) részét képező grep programot használják, de ez ne riassza el a témában járatlanokat: a fent írtak szerint tucatnyi kezünk ügyébe eső program (akár irodai program, akár programozási nyelv) biztosítja az ismerkedés, a tanulás, a gyakorlás lehetőségét.

A feldolgozott állomány a Magyar Királyság utolsó, 1913-ban megjelent helységnévtárában szereplő helységneveket, egészen pontosan 12538 község, illetve város nevét tartalmazza.