Programmeren in PHP/Reguliere Expressies: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
k + {{GFDL-oud}}
Marc230790 (overleg | bijdragen)
Regel 22:
 
==Syntax van Regexps==
 
...
Een reguliere expressie is in feite niks meer dan een manier voor het vervangen van tekst of het vinden van tekst. Je hebt twee soorten reguliere expressies namelijk: Letterlijke Patronen en tekenklassen. Om een start te maken geef ik een voorbeeld van een letterlijk patroon in PHP.
 
==Letterlijke patronen==
 
<code>
<?php
$string = "Dit is een tekst over reguliere expressies";
if( ereg( "tekst", $string )
{
echo "Het woord tekst is gevonden";
}
else
{
echo "Het woord tekst is niet gevonden";
}
?></code>
 
In dit voorbeeldje wordt er gezocht naar het letterlijke woord: tekst. De functie die dit kan heet ereg syntax: <code>
ereg ( string $pattern, string $string [, array &$regs] )</code> Dit was best makkelijk niet? Dan gaan we nu het echte werk doen met tekenklassen oftewel de echte reguliere expressies.
 
==Tekenklassen==
 
Oké, nu wordt het spannend. We gaan echte reguliere expressies behandelen. Laten we eerst even wat basic commando's opnoemen die je vast wel al kent.
 
::- '''\n''' Dit betekend newline, je raad het al: een nieuwe regel.
::- '''\t''' Tab.
::- '''\r''' Return (\r\n betekend in Windows newline.)
::- '''$''' Einde van een string
::- '''^''' Dit is het begin van een string.
::- '''.''' Een punt: Elke willekeurige regel.
 
Dit was niet zo moeilijk hé? Ok genoeg theorie nu even de praktijk wat heb je hier aan? Je wilt zeker zijn dat er geen tekens na en voor een een bepaalde sting komen kun je dit zo controleren: <code>ereg( "^tekst$", "Een stukje tekst" )</code>. Als je dit zou uitvoeren in PHP zou je de waarde 0 krijgen, oftewel dat hij niet matcht want er staan tekens voor de gezochte tekst. zou je dit veranderen in <code>ereg( "tekst$", "Een stukje tekst" )</</code> dan zou hij, je raad het al een 1 terug geven. Oftwel een match.
 
....
 
<!--Ik ken alleen regexps in Javascript, dus in PHP weet ik er niet heel erg veel van!-->
 
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.