Einführung in reguläre Ausdrücke in PHP
Reguläre Ausdrücke sind solche Befehle für komplexe Suche und Ersetzung. Sie ermöglichen sehr interessante Dinge, sind aber leider ziemlich schwer zu erlernen.
Es gibt mehrere PHP-Funktionen für die Arbeit
mit regulären Ausdrücken. Wir beginnen damit,
sie am Beispiel von preg_replace kennenzulernen. Diese
Funktion nimmt als ersten Parameter, was ersetzt werden soll,
als zweiten - durch was ersetzt werden soll, und als dritten Parameter
- die Zeichenkette, in der ersetzt werden soll:
<?php
preg_replace(was ersetzen, durch was, Zeichenkette);
?>
Dabei nimmt unsere Funktion als ersten Parameter
nicht einfach eine Zeichenkette, sondern einen regulären Ausdruck,
der selbst eine Zeichenkette mit einem Befehlssatz ist,
der sich innerhalb der Rautensymbole # befindet.
Diese Rauten werden als Begrenzer
der regulären Ausdrücke bezeichnet.
Nach den Begrenzern können Modifikatoren geschrieben werden - Befehle, die die allgemeinen Eigenschaften des regulären Ausdrucks ändern.
Die regulären Ausdrücke selbst bestehen aus zwei Arten von Symbolen: aus denen, die sich selbst bezeichnen, und aus Befehls-Symbolen, die Sonderzeichen genannt werden.
Buchstaben und Zahlen bezeichnen sich selbst. Im folgenden
Beispiel ersetzen wir mithilfe eines regulären Ausdrucks
den Buchstaben 'a' durch '!':
<?php
preg_replace('#a#', '!', 'bab'); // gibt 'b!b' zurück
?>
Ein Punkt ist jedoch ein Sonderzeichen
und bezeichnet ein beliebiges Zeichen. Im folgenden
Beispiel finden wir die Zeichenkette nach diesem Muster:
Buchstabe 'x', dann ein beliebiges Zeichen, dann
wieder Buchstabe 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // gibt '! eee' zurück
?>
Gegeben ist die Zeichenkette:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten
'ahb', 'acb', 'aeb'
nach dem Muster findet: Buchstabe 'a', ein beliebiges Zeichen,
Buchstabe 'b'.
Gegeben ist die Zeichenkette:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Schreiben Sie einen regulären Ausdruck, der die Zeichenketten
'aeeb', 'adcb', 'axeb'
nach dem Muster findet: Buchstabe 'a', zwei beliebige
Zeichen, Buchstabe 'b'.