Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich meine regulären PHP-ereg-Ausdrücke einfach in PCRE konvertieren?

Wie kann ich meine regulären PHP-ereg-Ausdrücke einfach in PCRE konvertieren?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-03 21:53:42643Durchsuche

How Can I Easily Convert My PHP ereg Regular Expressions to PCRE?

PCRE-Ausdrücke mit PHP konvertieren

Reguläre POSIX-Ausdrücke (ereg) werden in PHP 5.3.0 und höher nicht mehr empfohlen. Dieser Artikel bietet eine einfache Möglichkeit, alte Ereg-Ausdrücke in Perl-kompatible reguläre Ausdrücke (PCRE oder Preg) zu konvertieren, die weiterhin unterstützt werden.

Syntaxänderungen

Der Hauptunterschied Zu beachten ist das Hinzufügen von Trennzeichen in preg. Sie verhindern Kollisionen mit Zeichen innerhalb des Ausdrucks. Zu den gängigen Trennzeichen gehören ~, / und #.

Escape-Trennzeichen

Wenn das Trennzeichen innerhalb des Ausdrucks vorkommt, muss es maskiert werden. Beispielsweise erfordert ein Ausdruck, der einen Schrägstrich enthält, ein Escapezeichen:

preg_match('/^\/hello/', $str);

Verwendung von preg_quote

Um sicherzustellen, dass Escapezeichen ordnungsgemäß hinzugefügt werden, verwenden Sie die Funktion preg_quote. Es entgeht allen Trennzeichen und reservierten Zeichen:

$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);

Groß-/Kleinschreibung wird nicht berücksichtigt

Der i-Modifikator ermöglicht eine Übereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung wie eregi:

preg_match('/^hello/i', 'HELLO');

Referenzhandbuch

Für eine umfassende Referenz zu PCRE Informationen zur Syntax in PHP finden Sie im offiziellen Handbuch. Darüber hinaus enthält das Handbuch eine Aufschlüsselung der Unterschiede zwischen POSIX- und PCRE-Regex, die den Konvertierungsprozess unterstützt.

Einfachere Alternative für einfache Ausdrücke

Im bereitgestellten Beispiel ( passend zu „Hallo Welt“ am Anfang einer Zeichenfolge), könnte ein regulärer Ausdruck unnötig sein:

stripos($str, 'hello world') === 0

Das obige ist der detaillierte Inhalt vonWie kann ich meine regulären PHP-ereg-Ausdrücke einfach in PCRE konvertieren?. 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