Heim >Backend-Entwicklung >PHP-Tutorial >Wie konvertiere ich reguläre Ereg-Ausdrücke in PHP in Preg?

Wie konvertiere ich reguläre Ereg-Ausdrücke in PHP in Preg?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 15:02:14241Durchsuche

How to Convert ereg Regular Expressions to preg in PHP?

Konvertierung von Ereg nach Preg in PHP

In PHP sind reguläre POSIX-Ausdrücke (ereg) seit Version 5.3.0 veraltet. Um den Übergang zu erleichtern, ist es wichtig zu verstehen, wie man alte Ereg-Ausdrücke in PCRE (Perl-kompatible reguläre Ausdrücke) (preg) konvertiert.

Syntaxunterschiede

Die primäre Syntax Der Unterschied besteht in der Hinzufügung von Trennzeichen in preg. Beispielsweise sollte der folgende Ereg-Ausdruck:

eregi('^hello world');

in einen preg_match-Ausdruck wie folgt umgewandelt werden:

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

Die Trennzeichen können verschiedene nicht alphanumerische Zeichen sein, wobei übliche Optionen sind ~, / und #.

Übereinstimmung Klammern

Zusätzlich können Sie passende Klammern als Trennzeichen verwenden:

preg_match('[^hello]', $str);
preg_match('(^hello)', $str);
preg_match('{^hello}', $str);

Escape-Trennzeichen

Wenn Ihr Trennzeichen im regulären Format erscheint Ausdruck, maskieren Sie ihn mit einem Backslash:

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

Um alle Trennzeichen zu maskieren und Reservierte Zeichen, verwenden Sie preg_quote:

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

Modifikatoren

PCRE unterstützt Modifikatoren für verschiedene Funktionen. Beispielsweise ersetzt der Groß-/Kleinschreibungsmodifikator i die eregi-Funktion:

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

Beispielkonvertierung

In Ihrem bereitgestellten Beispiel ist ein regulärer Ausdruck nicht erforderlich. Stattdessen können Sie die folgende PHP-Funktion verwenden:

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

Das obige ist der detaillierte Inhalt vonWie konvertiere ich reguläre Ereg-Ausdrücke in PHP in Preg?. 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