Script Zine, webmaster help in English and Dutch
TUTORIALS SCRIPTS FORUM CONTACT
Tutorial pages:« 1 »
wmikke
Reguliere expressies - Posted on: 25-01-2005 at 11:15

Admin

Wat zijn Reguliere expressies?
Je kunt Reguliere expressies voorstellen als een uitgebreid systeem voor het vergelijke van patronen.
Met Reguliere expressies kun je bijvoorbeeld kijken of een e-mail adres geldig is of een zoeken en vervangen van tekens.

Een eenvoudige Reguliere Expressie
Nu ga je leren hoe je een eenvoudige Reguliere Expressie kunt makne.
Literals
Een literal is een waarde die precies zo wordt geschreven als de wordt geïnterpreteerd. Zou komt "a" overeen met alleen de letter a. En "bc" alleen met bc.

Metatekens
Metatekens zijn iets ingewikkelder dan literals. Metatekens zijn speciale symbolen die een betekenis hebben die verdergaat dan hun letterlijke waarde. Waar de "b" altijd gewoon altijd b betekend zal het eerste metateken, de punt(.), overeenkomen met ieder afzonderlijk teken. Punt (.) komt dus overeen met de letter a-z.
Er zijn verder nog 3 metatekens die meer toestaan: b* zal overeenkoment nul of meer b's (b, bb, bbb, etc.), a+ komt overeen met één of meer a's. Er zal dus minstens 1 a moeten voorkomen. a? zal overeenkomen met maximaal één a (a of geen a).
Als je naar een bepaalde hoeveelheid van een letter wilt zoeken dan moet je de hoeveelheid, minimum of maximaal aantal, tussen accolades zetten ({}).
a{3} zal dus overeenkomen met aaa.
a{3,5) zal zoeken tussen de 3 en 5 a's.

Dan is er nog de ^ (caret). Dit teken zal overeenkomen met een tekenreeks die met de aan de ^ voorafgaande letter begint. Je hebt ook nog het $ teken voor alles wat eindigt op de opgegeven letter.

Nu even een overzicht van de complete lijst van speciale tekens:
. = Elk willekeurig teken
^a = Begint met a
a$ = eindigt op a
a+ = minstens een a.
a? = nul of een a
n = nieuwe regel
t = tab
= ontsnappingsteken
(ab) = de groep ab
a|b = a of b
a{2} = aa
a{1,} = a, aa, aaa etc.
a{1,3} = a, aa, aaa
[a-z] = willekeurige kleine letter
A-Z = willekeurige hoofdletter
[0-9] = willekeurig cijfer

Patronen zoeken
Er zijn 2 functies in php ingebouwd voor het zoeken naar patronen binnen een tekenreeks: ereg() en eregi(). Het verschil tussen deze twee is dat ereg hoofdletter gevoelig is en eregi niet.
Een voorbeeld je voor het gebruiken van deze functies.

Code
1
2
3
4
5
6
7
8
<?
ereg("patroon""tekenreeks");

// of:
$Patroon "patroon";
$Tekenreeks "tekenreeks";
eregi($Patroon$Tekenreeks);
?>


Tutorial pages:« 1 »

Printable version

 
 

© Script Zine 2003-2008 - Script Zine Design - Hosting by: Mihosnet
Recommend: IE 6