In modernen Programmiersprachen ist der Mustervergleich eine sehr häufige Operation. Es wird verwendet, um Teile einer Zeichenfolge zu finden, die bestimmten Regeln entsprechen. In PHP eignen sich reguläre Ausdrücke sehr gut für den Mustervergleich. In diesem Artikel behandeln wir den Mustervergleich mit PHP und regulären Ausdrücken.
Zuerst müssen wir verstehen, was reguläre Ausdrücke sind. Reguläre Ausdrücke sind eine Sprache, die zum Mustervergleich verwendet wird. Es kann verwendet werden, um bestimmte Teile einer Zeichenfolge zu finden, zu ersetzen, zu validieren und zu extrahieren. Reguläre Ausdrücke bestehen aus einigen Zeichen und Sonderzeichen. Diese Zeichen werden zum Abgleichen von Zeichenfolgen verwendet.
In PHP können wir die Funktion preg_match() verwenden, um einen regulären Ausdrucksabgleich durchzuführen. Hier ist ein Beispiel:
$string = "This is a test string."; $pattern = "/test/i"; preg_match($pattern, $string, $matches); print_r($matches);
Im obigen Beispiel ist $string die Zeichenfolge, nach der gesucht werden soll. $pattern ist ein regulärer Ausdruck. In diesem Beispiel verwenden wir „/test/i“ als regulären Ausdruck. Das bedeutet, dass wir in der Zeichenfolge nach „test“ suchen, wobei „i“ bedeutet, dass die Groß-/Kleinschreibung nicht berücksichtigt wird. Schließlich ist $matches ein Array, das alle übereinstimmenden Ergebnisse enthält. In diesem Fall sollte Folgendes ausgegeben werden:
Array ( [0] => test )
Wenn keine passende Zeichenfolge gefunden wird, ist das Array $matches leer.
Werfen wir nun einen Blick auf die grundlegendsten Zeichen in regulären Ausdrücken.
Hier ist ein Beispiel für die Übereinstimmung mit einer Postleitzahl:
$string = "12345-6789"; $pattern = "/^[0-9]{5}(-[0-9]{4})?$/"; preg_match($pattern, $string, $matches); print_r($matches);
Im obigen Beispiel haben wir a verwendet einige verschiedene Zeichen:
$dir = "./"; $files = scandir($dir); foreach ($files as $file) { if (preg_match("/.php$/", $file)) { $content = file_get_contents($file); preg_match_all("/(function|public function|private function|protected function|method|public method|private method|protected method) ([a-zA-Z0-9_]+)/", $content, $matches); echo "In $file: "; foreach ($matches[2] as $match) { echo "- $match() "; } } }
Im obigen Beispiel haben wir die Funktion preg_match_all() verwendet. Diese Funktion ähnelt der Funktion preg_match(), außer dass sie nach allen Übereinstimmungen und nicht nur nach der ersten Übereinstimmung sucht. Wir haben auch einen regulären Ausdruck verwendet, um alle Funktionen und Methoden abzugleichen. In diesem Beispiel werden wir nur öffentliche, private und geschützte Funktionen und Methoden auflisten.
Das obige ist der detaillierte Inhalt vonMustervergleich mit PHP und regulären Ausdrücken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!