Regulární výrazy ve FoxPro

Regulární výrazy jsou ve FoxPro možné. Vyžadují pouze minimální znalost objektového programování.  K jejich realizaci je potřeba objektová knihovnu _regexp.vcx. Knihovnu naleznete v adresáři ve kterém je FoxPro nainstalována, v podadresáři Sample. Pak už je vše jednoduché. Ukážeme si to na následujícím příkladu.

 
 

       oReg = NewObject(‚_regexp‘,’_regexp.vcx‘)

       oReg.Pattern=“[0-9]+\/*[0-9]+[^.|^\D]+“

       Reg.execute(„Josef Machka, 890/99, telefon 777-007-700“)

       FOR i=1 TO ALEN(oReg.Matches) STEP 2

              ? „pozice:“+STR(i)+“ nalezeno:“+oReg.Matches(i+1)

       ENDFOR

 
 

Prvně se inicializuje knihovna . Proměná pattern obsahuje samotný regulární výraz, který v mém případě hledá číslo. Funkcí execute spustíme regulární výraz nad daným řetězcem. Výsledek, jak je patrné, je možné nalézt v proměnné matches. Jedná se o pole kde je u výsledek uložen v následujícím formátu

 
 

       [1] pozice výskytu 1

       [2] nalezený řetězec 1

 
 

       [3] pozice výskytu 2

       [4] nalezený řetězec 2