Der PHP-Editor Banana zeigt Ihnen, wie Sie die Länge des Startteilstrings der nicht passenden Maske ermitteln. In PHP können Sie die Funktion preg_match in Kombination mit regulären Ausdrücken verwenden, um diese Funktion zu erreichen. Verwenden Sie zunächst einen regulären Ausdruck, um unerwünschte Zeichen abzugleichen, ermitteln Sie dann die Übereinstimmungsposition über die Funktion preg_match und berechnen Sie schließlich die Länge der Startteilzeichenfolge. Dies erleichtert die Implementierung der Funktion zum Abrufen der Anfangsteilzeichenfolgenlänge einer nicht übereinstimmenden Maske.
Frage: Wie erhalte ich die Länge des Startteilstrings der nicht passenden Maske in PHP
?Lösung:
Verwenden Sie die Funktion preg_match()
, die die Länge des Teilstrings zurückgibt, der dem regulären Ausdruck preg_match()
函数,它返回匹配正则表达式的子字符串的长度。通过使用否定前瞻断言 (?!)
entspricht. Durch die Verwendung einer negativen Lookahead-Assertion (?!)
können Sie Teilzeichenfolgen abgleichen, die nicht mit der angegebenen Maske übereinstimmen.
Codebeispiel:
$subject = "This is a test string"; $mask = "/(t.*)/"; $pattern = "/^(?:(?!$mask).)*$/"; preg_match($pattern, $subject, $matches); $length = strlen($matches[0]);
Erklärung:
preg_match()
函数检查给定字符串 $subject
是否与正则表达式 $pattern
Spiel. $pattern
Regulärer Ausdruck: ^
: Verankern Sie den Anfang der Zeichenfolge. (?:...)*
: Passen Sie null oder mehr Vorkommen eines beliebigen Zeichens an, das nicht mit dem Untermuster (...) übereinstimmt. (?!$mask)
:否定前瞻断言,确保不匹配 $mask
. $
: Verankern Sie das Ende der Schnur. $matches
Array $matches
数组包含匹配项,其中 $matches[0]
mit Übereinstimmungen, wobei $matches[0]
der Startteilstring der nicht übereinstimmenden Maske ist. strlen($matches[0])
Gibt die Länge des Teilstrings zurück. Zusätzliche Hinweise:
$mask
gültig ist. strspn()
, die die Anzahl der Zeichen zählt, bis das erste passende Zeichen gefunden wird. Vollständiges Codebeispiel mit strspn()
:
$subject = "This is a test string"; $mask = "t"; $length = strspn($subject, $mask, 0, strlen($subject) - 1);
Vorteile:
strspn()
Effizienter für lange Saiten. Nachteile:
Das obige ist der detaillierte Inhalt vonPHP, wie man die Länge des Startteilstrings ermittelt, der nicht mit der Maske übereinstimmt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!