Hallo,
Ik ben Roland nieuw op dit forum en ik houdt mij sinds 2 weken bezig met PHP.
De afgelopen dagen heb ik veel gelezen over reguliere expressies.
En ik dacht het ondertussen te snappen. Maar nu is er toch nog iets wat ik toch schijnbaar niet snap. Na het opnieuw lezen diverse documenten weet ik nog steeds niet wat er hier fout gaat.
Hopenlijk kunnen jullie mij helpen.
Groet,
Roland.
<?php
// We maken string $a aan en steken er een karakters in
$a = "1234abbbc789";
/* We maken string $b aan en geven aan wat er in string $a aanwezig moet zijn om aan de voorwaarden te voldoen.
In dit geval letter a, gevolgd door minimaal 1 * letter b en maximaal 2 * letter b, gevolgd door letter c.*/
$b = "/ab{1,2}c/";
// we kijken of voorwaarden $b in string $a aanwezig is.
if (preg_match ($b, $a)){
echo ("De expressie voldoet ");
}else{
echo ("Expressie is niet AANWEZIG");
// Dit vb levert echo "Expressie is niet AANWEZIG" op.
}
?>
Het probleem geval.
<?php
// We maken string $a aan en steken er een karakters in
$a = "1234abbbc789";
/* We maken string $b aan en geven aan wat er in string $a aanwezig moet zijn om aan de voorwaarden te voldoen.
In dit geval letter a, gevolgd door minimaal 1 * letter b en maximaal 2 * letter b. */
$b = "/ab{1,2}/";
// we kijken of voorwaarden $b in string $a aanwezig is.
if (preg_match ($b, $a)){
echo ("De expressie voldoet ");
}else{
echo ("Expressie is niet AANWEZIG");
/* Dit vb zou volgens mij echo "Expressie is niet AANWEZIG" moeten op leveren. Er staan immers 3 * letter b achter elkaar.
maar geeft echo "De expressie voldoet" aan.
Wat gaat hier fout? */
}
?>
212 views