A rendszer Regular Expressions szolgáltatását talán úgy tudnánk helyesen lefordítani, hogy általános kifejezések. Segítségével megadott minták alapján kereshetünk különböző szövegrészeket egy megadott szövegben. Legyen az egy egyszerű szó, vagy egy bonyolultabb telefonszám, vagy egy tetszőlegesen definiált minta.
A technológia sokkal gyorsabb programfejlesztést tesz lehetővé szövegfeldolgozással foglalkozó alkalmazásainkban.
A szolgáltatást a Microsoft Windows Script technológia tartalmazza, melynek legfrissebb változata ingyenesen letölthető az alábbi Microsoft oldalról:
http://msdn.microsoft.com/library/default.asp?url=/downloads/list/webdev.asp
A cikk írása pillanatában, jelenleg az 5.6-os verziónál tartunk. A megadott weboldalon különböző letöltési lehetőségeket találhatunk, operációs rendszerünknek megfelelően. Ha letöltöttük a telepítő programot, akkor telepítés után az automatikusan beépül rendszerünkbe. Az eléréséhez importálnunk kell egy Type Library-t.
Indítsuk el a Delphi-t, majd válasszuk a Project – Import Type Library menüpontot. A megjelenő listában válasszuk ki a Microsoft VBScript Regular Expressions 5.5 elemet. Állítsuk be a Unit dir name mezőben, hogy melyik mappában jöjjön létre az importált unit, majd kattintsunk a Create unit feliratú gombra.
Ekkor a megadott mappában létrejön a VBScript_RegExp_55_TLB.pas állomány. Ha alkalmazásainkban használni kívánjuk a Regular Expressions szolgáltatást, akkor a uses listában fel kell majd vennünk a hivatkozást erre a unitra.
A kiindulási osztály, amely segítségével a keresés és a csere funkciókat végrehajthatjuk, a TRegExp.
TRegExp

Global
property Global: WordBool;
Igaz érték megadása esetén a keresés a teljes szövegben történik, a találati listába pedig az összes találat bekerül. Ha értékét hamisra állítjuk, akkor a keresés az első találat után befejeződik.

IgnoreCase
property IgnoreCase: WordBool;
Igaz érték esetén a kis- és nagybetűk nem számítanak. Hamis érték megadása esetén igen.

Pattern
property Pattern: WideString;
Ebben a property-ben kell megadnunk a keresendő szöveget, vagy mintát.

Execute
function Execute(
const sourceString: WideString
): IDispatch;
Keresést hajt végre egy megadott szövegben.
Paraméterek
const sourceString: WideString
A szöveg, amelyben keresni szeretnénk.
Visszatérési érték
A találatok listája, melynek típusa MatchCollection. A kollekció eléréséhez típuskényszerítést kell alkalmaznunk.
m:=r.Execute(Memo1.Text) as MatchCollection;

Replace
function Replace(
const sourceString: WideString;
replaceVar: OleVariant
): WideString;
A keresés és csere funkció megvalósítására szolgál.
Paraméterek
const sourceString: WideString
A szöveg, amelyben keresni szeretnénk.
replaceVar: OleVariant
A minta, amelyre a találatokat cserélni szeretnénk.
Visszatérési érték
Az a szöveg, amely a már kicserélt találatokat tartalmazza.

Test
function Test(
const sourceString: WideString
): WordBool;
A függvény segítségével megtudhatjuk, hogy a keresett minta szerepel-e a megadott szövegben.
Paraméterek
const sourceString: WideString
A szöveg, amelyben keresni szeretnénk.
Visszatérési érték
Ha a keresett minta szerepel a szövegben, akkor igaz, ellenkező esetben hamis.