burghi'sphp-dummies.de
PHP für Einsteiger und Fortgeschrittenere - an laufenden Scripten erklärt
07.09.2010, 01:52 Uhr - Impressum

Tutorials - RegExpressions - Basics - Stern, Plus, Fragezeichen

Tutorials - RegExpressions
Basics: Stern, Plus, Fragezeichen
Das Angeben von maximal-minimal-Werten kann auch manchmal auf "scheißegal wie viele" hinauslaufen - dafür gibt es dann den Stern * als Zeichen.
So ist hier egal, wie viele Zeichen zwischen H und o stehen:
<?php
$reg = "^H.*o$";     /* so viele beliebige Zeichen wie es beliebt zwischen H und o */
if(eregi($reg, "Ho")) echo "Ho passt auf $reg<br />\n";     /* stimmt, auch 0 Zeichen sind erlaubt */
if(eregi($reg, "Hello")) echo "Hello passt auf $reg<br />\n";     /* stimmt */
if(eregi($reg, "Hallihallo")) echo "Hallihallo passt auf $reg<br />\n";     /* stimmt */
if(eregi($reg, "Hellau")) echo "Hellau passt auf $reg<br />\n";     /* stimmt nicht */
?>
Der Stern * sagt also: So viel wie man mag.
Das Plus + hingegen verlangt nach mindestens einem Zeichen:
<?php
$reg = "^H.+o$";     /* ein oder mehr Zeichen zwischen H und o */
if(eregi($reg, "Ho")) echo "Ho passt auf $reg<br />\n";     /* stimmt nicht, 0 Zeichen sind nicht erlaubt */
if(eregi($reg, "Hello")) echo "Hello passt auf $reg<br />\n";     /* stimmt */
if(eregi($reg, "Hallihallo")) echo "Hallihallo passt auf $reg<br />\n";     /* stimmt */
if(eregi($reg, "Hellau")) echo "Hellau passt auf $reg<br />\n";     /* stimmt nicht */
?>
Das Fragezeichen sagt 0x oder 1x das Zeichen:
<?php
$reg = "^Aa?s$";     /* kein oder genau 1 kleines a erlaubt */
if(eregi($reg, "As")) echo "As passt auf $reg<br />\n";     /* stimmt */
if(eregi($reg, "Aas")) echo "Aas passt auf $reg<br />\n";     /* stimmt */
if(eregi($reg, "Aaas")) echo "Aaas passt auf $reg<br />\n";     /* stimmt nicht */
?>
Das funktioniert auch mit Zeichengruppen, die folgenden Bestellnummer muss laut RegExp aufgebaut sein aus 2 Buchstaben, einem Bindestrich, 3 Zahlen und, wenn es beliebt, einem A hinten dran
<?php
$reg = "^[A-Z]{2}-[0-9]{3}A?$";
if(eregi($reg, "PC-834")) echo "PC-834 passt auf $reg<br />\n";     /* stimmt */
if(eregi($reg, "PC-834A")) echo "PC-834A passt auf $reg<br />\n";     /* stimmt */
if(eregi($reg, "PC-834B")) echo "PC-834B passt auf $reg<br />\n";     /* stimmt nicht */
?>
© 2004-2005 - Impressum