Wie entgeht man Backslashes in regulären PHP-Ausdrücken?

Barbara Streisand
Freigeben: 2024-11-16 04:20:03
Original
400 Leute haben es durchsucht

How to Escape Backslashes in PHP Regular Expressions?

Backslashes in regulären PHP-Ausdrücken maskieren

Um einen Backslash in einem PHP-Muster für reguläre Ausdrücke zu maskieren, kann man drei Backslashes (\) verwenden. oder vier Backslashes (\\). Obwohl beide Optionen zu erfolgreichen Übereinstimmungen führen, gibt es geringfügige Unterschiede in ihrer Interpretation und Verwendung.

Testfälle:

Berücksichtigen Sie die folgenden Testfälle:

// TEST 01: (3 backslashes)
$pattern = "/^[\\]{1,}$/";
$string = '\';

// ----- RETURNS A MATCH -----

// TEST 02: (4 backslashes)
$pattern = "/^[\\]{1,}$/";
$string = '\';

// ----- ALSO RETURNS A MATCH -----
Nach dem Login kopieren

In beiden Fällen wird eine Übereinstimmung zurückgegeben, was darauf hinweist, dass sowohl drei als auch vier Backslashes verwendet werden können, um einem Backslash zu entgehen.

Interpretation und Verwendung:

  • Drei Backslashes (\): Bei Verwendung von drei Backslashes wird das Muster so interpretiert, dass es mit einem einzelnen Backslash()-Zeichen übereinstimmt. Wenn das nächste Zeichen im Muster jedoch ebenfalls ein Backslash ist, kann ein wörtlicher Backslash nicht mit nur drei Backslashes abgeglichen werden.
// Matches a single backslash
preg_match( '/\\/', '\' );      // 1

// Fails to match a literal backslash followed by a backslash
preg_match( '/\\\s/', '\s' );   // 0
Nach dem Login kopieren
  • Vier Backslashes (\\): Andererseits entspricht die Verwendung von vier Backslashes immer einem wörtlichen Backslash, unabhängig vom folgenden Zeichen. Dies liegt daran, dass der vierte Backslash dem dritten Backslash entgeht und ihn zu einem wörtlichen Zeichen macht.
// Matches a literal backslash followed by any character
preg_match( '/\\\s/', '\s' );   // 1
Nach dem Login kopieren

Empfehlung:

Basierend auf diesen Beobachtungen ist dies der Fall Es wird empfohlen, in einem Regex-Muster immer vier Backslashes (\\) zu verwenden, wenn Sie nach einem Backslash suchen. Dieser Ansatz gewährleistet Konsistenz und Vorhersagbarkeit beim Mustervergleich.

Das obige ist der detaillierte Inhalt vonWie entgeht man Backslashes in regulären PHP-Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage