0Pricing
PHP Academy · Lektion

Mit preg_match suchen

Prüfen Sie Strings anhand von Mustern und erfassen Sie Gruppen.

Mit preg_match suchen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Signatur von preg_match()

preg_match($pattern, $subject, &$matches) gibt 1 zurück, wenn das Muster übereinstimmt, 0, wenn nicht, oder bei einem Fehler false.

Einfacher Übereinstimmungstest

Verwenden Sie preg_match als booleschen Test – der Rückgabewert 1 bedeutet, dass etwas gefunden wurde.

<?php
$email = "user@example.com";
if (preg_match('/\w+@\w+\.\w+/', $email)) {
    echo "Looks like an email";
}

Erfassungsgruppen mit $matches

$matches[0] enthält die vollständige Übereinstimmung; $matches[1], $matches[2] usw. enthalten die Erfassungsgruppen.

<?php
preg_match('/^(\w+)\s(\w+)$/', "John Smith", $m);
echo $m[1]; // "John"
echo $m[2]; // "Smith"

Benannte Erfassungen

Verwenden Sie (?P<name>...) für benannte Erfassungsgruppen – der Zugriff erfolgt über $matches["name"].

<?php
preg_match('/(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})/',
           '2025-06-15', $m);
echo $m['year'];  // 2025

Offset-Parameter

Der 4. Parameter legt fest, an welcher Stelle der Zeichenkette die Übereinstimmungssuche beginnt (Byte-Offset).

<?php
preg_match('/\d+/', 'abc123def456', $m, 0, 3);
echo $m[0]; // "123"

PREG_OFFSET_CAPTURE

Rufen Sie sowohl den Übereinstimmungswert als auch seinen Byte-Offset ab.

<?php
preg_match('/\d+/', "price: 42 USD", $m, PREG_OFFSET_CAPTURE);
echo $m[0][0]; // "42"
echo $m[0][1]; // 7 (byte offset)

preg_match_all()

preg_match_all() findet alle Übereinstimmungen und gibt deren Anzahl zurück.

<?php
$html = '<a href="a.com">A</a> <a href="b.com">B</a>';
preg_match_all('/<a href="([^"]+)">/', $html, $m);
print_r($m[1]); // ["a.com", "b.com"]

Beispiel für die E-Mail-Validierung

Eine praxisnahe E-Mail-Regex:

<?php
function isEmail(string $s): bool {
    return (bool) preg_match(
        '/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/',
        $s
    );
}

Telefonnummern-Validierung

Validieren Sie internationale Telefonnummern:

<?php
preg_match('/^\+?[1-9]\d{7,14}$/', '+1234567890', $m);

Fehlerbehandlung

Wenn das Muster ungültig ist, gibt preg_match() false zurück. Prüfen Sie mit === false und verwenden Sie preg_last_error() für Details.

Leistungstipp

PHP speichert kompilierte PCRE-Muster intern zwischen – wenn Sie dieselbe Regex in einer Schleife verwenden, sind keine zusätzlichen Schritte erforderlich.

Wann Sie keine Regex verwenden sollten

Für strukturierte Daten bietet PHP spezielle Funktionen: filter_var(FILTER_VALIDATE_EMAIL), parse_url() – bevorzugen Sie diese gegenüber selbst erstellten Regex.

Kurztest

Was enthält $matches[0] nach preg_match?

Häufig gestellte Fragen

Ist die Lektion „Mit preg_match suchen“ kostenlos?

Ja — der vollständige Text von „Mit preg_match suchen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Mit preg_match suchen“?

Prüfen Sie Strings anhand von Mustern und erfassen Sie Gruppen. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um PHP Academy zu starten?

Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Mit preg_match suchen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?

Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen der Regex-Syntax
  2. Mit preg_match suchen
  3. Text mit preg_replace ersetzen
  4. Aufteilen und praktische Muster
← Zurück zu PHP Academy