Tutorials

Reguliere Expressies [1]

Wat zijn reguliere expressies

Pagina 1

Inhoud

---> Inhoud <---

Pagina 2 - Wat zijn reguliere expressies
Pagina 3 - Vergelijken met een vaste waarde
Pagina 4 - Vergelijken met een niet vaste waarde (letters)
Pagina 5 - Vergelijken met een niet vaste waarde (cijfers)
Pagina 6 - Samenvatting

De termen in deze tutorial zijn geen officiƫle termen. Ik gebruik ze alleen om te voorkomen dat ik elke keer een lang verhaal moet intypen. De gebruikte termen staan op de laatste pagina. Hierbij staat ook vermeld op welke pagina de inhoud van de betreffende term te vinden is.

---> Introductie <---

Dit artikel is bedoeld voor mensen die weinig/niets weten van reguliere expressies.

In dit artikel zal ik proberen zo goed mogelijk te omschrijven hoe je reguliere expressies moet gebruiken.
Dit ga ik doen in een aantal verschillende delen. Dit deel is speciaal voor de echte beginners.

Graag enige reacties hierop , zowel positief als negatief zodat ik weet wat ik in de volgende delen nog kan verbeteren.
Pagina 2

Wat zijn reguliere expressies.

---> Wat zijn reguliere expressies. <---

Reguliere expressies kun je het makkelijkste uitleggen als regels waaraan een tekst moet voldoen.
Deze regels noemen we voortaan vergelijkingsregels.

Je geeft een tekst op en in de reguliere expressie staat aan welke regels deze tekst moet voldoen.
Als aan alle regels word voldaan krijg je een 1 (ok) als resultaat anders een 0(fout).


---> Uitvoeren van reguliere expressies <---

extra : Variabelen zijn plaatsen in het geheugen waarvan je de waarde zelf kunt bepalen (Je kunt ze herkennen aan het $ teken).

Reguliere expressies kun je op de volgende manier uitvoeren.
$resultaat_variabele = ereg(reguliere express , text die vergeleken moet worden);
Pagina 3

Je eerste reguliere expressie

---> Je eerste reguliere expressie <----

We gaan nu onze eerste reguliere expressie schrijven.
De expressie ziet er zo uit :

<?php
	$tekst = "Dit is tekst die we gaan vergelijken";
	$resultaat = ereg("text",$tekst);
	echo $resultaat ;
?>


op regel 1 geven we de variabele een waarde. Dit is de teks die we vergelijken.
op regel 2 vergelijken we de tekst met de regels in onze reguliere expressie.
op regel 3 geven we het resultaat van de reguliere expressie weer.

We gaan even de volgende tekst uit elkaar pluizen : ereg("text",$tekst)
Eerder heb ik al globaal omschreven waar alles voor dient, dit keer doe ik het iets specifieker.

eregi : Dit is het commando om de vergelijking uit te voeren.'
"text" : de regel waar aan onze tekst moet voldoen.
$tekst : De tekst die aan de regel moet voldoen.

De reguliere expressie "text" doet het volgende. Hij kijkt op de tekst "text" voorkomt in je input.
Input is de waarde die vegeleken moet worden, in dit geval $tekst

in de regel "Dit is tekst die we gaan vergelijken" is dit niet het geval om er geen "text" in de zin staat. Nu zal je resultaat($resultaat) dus 0 zijn.
op het moment dat je je reguliere expressie aanpast naar "tekst" zal het resultaat een 1 zijn.

Okey :). Je hebt zojuist je stapjes met de reguliere expressies genomen. Tijd om een beetje verder te gaan.
Pagina 4

Vergelijken met een niet vaste waarde (tekts)

---> Vergelijken met een niet vaste waarde (tekts) <---

In het vorige stukje hebben we vergeleken met een vaste waarde. Nu gaan we dat niet meer doen.
We gaan nu gebruik maken van "[a-z]". Wij doen dit op de volgende manier :

<?php
	$tekst = "09-12-2007";
	$resultaat = ereg("([a-z])",$tekst);
	echo $resultaat ;
?>


Vanaf nu ga ik er vanuit dat het doel van regel 1 en regel 3 bekend zijn.
Wij nemen weer ereg("([a-z])",$tekst).

In deze reguliere expressie zijn er een aantal dingen die opvallen. Ten eerste zijn er de "(" en de ")".
Tussen deze haakjes staat de uitdrukking waar aan voldaan moet worden. Op het moment dat je deze haakjes niet gebruikt werkt de reguliere expressie
zoals ik dat in het vorige hoofdstuk (Je eerste reguliere expressie) heb omschreven.

Vervolgens is er de text "[a-z]". Hiermee is het mogelijk te kijken of er ergens in je tekst een kleine letter "a" tot en met "z" zitten.
In dit geval zal het resultaat , omdat het een datum is, een 0 zijn.

Bovenstaand stukje geld ook voor "[A-Z]". Deze expressie is het zelfde als "[a-z]" alleen kijkt deze naar hoofdletters in plaats van kleine letters.

Deze expressies reageren op elke letter in je text. Het maakt niet uit of deze voor- of achterin je text zitten
Pagina 5

Vergelijken met een niet vaste waarde (getallen)

Nu hebben we al iets. We kunnen nu kijken of er letters in een tekst voorkomen.
Maar meestal bestaat een tekst niet alleen uit letters maar ook uit cijfers. Hier gaan we kijken hoe je cijfers in je reguliere expressie kunt zetten.
De volgende code zal beschreven worden :

<?php
	$teks = "ik ben jarig op 09-12-2006";
	$resultaat = ereg("([0-9])",$tekst);
	echo $resultaat ;
?>


De reguliere expressie "[0-9]" doet het zelfde als "[a-z]" maar deze expressie zoekt op cijfers in plaats van letter.
Pagina 6

Samenvatting

In dit artikel hebben we geleerd wat reguliere expressies zijn en hoe je deze kunt uitvoeren. Ook hebben we de eerste voorzichte stapjes gedaan
om een eigen reguliere expressie te schrijven. Kort samenvattend :

Begrippen :
vergelijkingsregels - Pagina 2
variabelen - Pagina 2
input - Pagina 3

Expressies :
"text" : Kijk op de betreffende tekst in je input staat (pagina 3)
"[a-z]" : Kijk of er kleine letters in je input staan (pagina 4)
"[A-Z]" : Kijk of er hoofdletters in je input staan (pagina 4)
"[0-9]" : Kijk of er cijfers in je input staan (pagina 5)

Je ben nu klaar voor Deel 2

Reacties

0
Nog geen reacties.