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 -----
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:
// Matches a single backslash preg_match( '/\\/', '\' ); // 1 // Fails to match a literal backslash followed by a backslash preg_match( '/\\\s/', '\s' ); // 0
// Matches a literal backslash followed by any character preg_match( '/\\\s/', '\s' ); // 1
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!