Heim >Backend-Entwicklung >PHP-Tutorial >Warum löst meine PHP-Funktion „preg_match()' den Fehler „Kein Endtrennzeichen' aus?

Warum löst meine PHP-Funktion „preg_match()' den Fehler „Kein Endtrennzeichen' aus?

Susan Sarandon
Susan SarandonOriginal
2024-12-17 22:34:18684Durchsuche

Why Does My PHP `preg_match()` Function Throw a

Reguläre PHP-Ausdrücke: Trennzeichenfehler

Problem:

Beim Ausführen des folgenden PHP-Codes , ist ein Fehler aufgetreten:

$pattern = "^([0-9]+)$";

if (preg_match($pattern, $input))
   echo "yes";
else
   echo "nope";

Die Fehlermeldung lautet: „Warnung: preg_match() [function.preg-match]: Kein Endtrennzeichen ‚^‘ gefunden in.“

Untersuchung:

Der Fehler deutet darauf hin, dass das reguläre Dem Ausdrucksmuster fehlt ein Endtrennzeichen, das durch das Caret-Symbol gekennzeichnet ist „^“.

Lösung:

In PHP erfordern reguläre Ausdruckszeichenfolgen Trennzeichen. Um das Problem zu beheben, schließen Sie das Muster in Trennzeichen ein:

$numPattern = "/^([0-9]+)$/";

Zusätzliche Überlegungen:

  1. Stellen Sie sicher, dass der Buchstabe „o“ im Muster ein Kleinbuchstabe ist , im Gegensatz zur Zahl Null (0).
  2. Wenn das Ziel ausschließlich darin besteht, die Eingabe zu validieren, kann die Erfassungsgruppe entfernt werden und Der reguläre Ausdruck wurde vereinfacht zu:
/^\d+$/

Weitere Informationen finden Sie in der Dokumentation zu PHP-Trennzeichen.

Das obige ist der detaillierte Inhalt vonWarum löst meine PHP-Funktion „preg_match()' den Fehler „Kein Endtrennzeichen' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn