Heim  >  Artikel  >  Backend-Entwicklung  >  PHP gibt die Länge des ersten Strings zurück, der mit der Maske im String übereinstimmt

PHP gibt die Länge des ersten Strings zurück, der mit der Maske im String übereinstimmt

WBOY
WBOYnach vorne
2024-03-21 21:31:06667Durchsuche

Der PHP-Editor Xigua führt Sie in ein häufiges Bedürfnis ein: wie man den Teilstring findet, der einer bestimmten Maske im zurückgegebenen String entspricht, und wie man seine Länge berechnet. Dieses Problem umfasst die Verarbeitung von Zeichenfolgen und die logische Beurteilung. Mithilfe der in PHP integrierten Funktionen und einiger einfacher Operationen können wir diese Funktion problemlos implementieren. Lassen Sie uns als Nächstes untersuchen, wie Sie PHP verwenden, um diese Anforderung zu erfüllen.

Ermitteln Sie die Länge des ersten Teilstrings, der mit der Maske in einem String in PHP übereinstimmt

In php können Sie die Funktion preg_match() verwenden, um den ersten Teilstring in einem String abzurufen, der einer bestimmten Maske entspricht, und seine Länge zurückzugeben. Die Syntax lautet wie folgt:

int preg_match(string $pattern, string $subject, array &$matches = null, int $flags = 0, int $offset = 0): int

Unter ihnen:

  • $pattern: Passendes Maskenmuster.
  • $subject: Die Zeichenfolge, in der gesucht werden soll.
  • &$matches: Ein optionaler Parameter, der zum Speichern der Matching-Ergebnisse verwendet wird.
  • $flags: Flag zur Übereinstimmung mit dem Muster (optional, Standardwert ist 0).
  • $offset: Der Offset, ab dem mit der Suche begonnen werden soll (optional, Standardwert ist 0).

Um die Länge des ersten Teilstrings in einem String zu ermitteln, der mit der Maske übereinstimmt, können Sie die folgenden Schritte ausführen:

  1. Definieren Sie das Maskenmuster: Schreiben Sie das Maskenmuster basierend auf der abzugleichenden Zeichenfolge. Um beispielsweise eine alphanumerische Zeichenfolge abzugleichen, würden Sie [a-zA-Z0-9]+ verwenden.
  2. Rufen Sie die Funktion preg_match() 函数:使用 preg_match() auf:
  3. Verwenden Sie die Funktion
, um nach Teilzeichenfolgen in einer Zeichenfolge zu suchen, die mit der Maske übereinstimmen. Zum Beispiel:
  1. $string = "This is a sample string.";
    $mask = "[a-zA-Z0-9]+";
    $matches = [];
    preg_match($mask, $string, $matches);
    $matches 数组将包含匹配的子字符串。第一个匹配的子字符串存储在 $matches[0]Erhalten Sie die Übereinstimmungsergebnisse:
  2. Wenn die Übereinstimmung erfolgreich ist, enthält das $matches-
  3. Array die übereinstimmende Teilzeichenfolge. Der erste passende Teilstring wird in gespeichert. $matches[0]
Teilstringlänge zurückgeben:

Ermitteln Sie die Länge von

, also der Länge des Teilstrings, der zum ersten Mal mit der Maske übereinstimmt.

Das vollständige Codebeispiel lautet wie folgt:

function get_first_matching_substring_length($string, $mask) {
$matches = [];
if (preg_match($mask, $string, $matches)) {
return strlen($matches[0]);
} else {
return -1;
}
}

$string = "This is a sample string.";
$mask = "[a-zA-Z0-9]+";
$length = get_first_matching_substring_length($string, $mask);

echo "Length of the first matching substring: $length";

Beispielausgabe:
  • Length of the first matching substring: 4
    preg_match()Zu beachtende Dinge sind:
  • $flagsWenn in der Zeichenfolge kein Teilstring vorhanden ist, der mit der Maske übereinstimmt, gibt die Funktion
  • 0 zurück. In diesem Fall sollte -1 zurückgegeben werden.
🎜🎜 Parameter können verwendet werden, um zusätzliche Abgleichsoptionen anzugeben, z. B. das Ignorieren der Groß-/Kleinschreibung oder den Abgleich in mehreren Zeilen. 🎜 🎜

Das obige ist der detaillierte Inhalt vonPHP gibt die Länge des ersten Strings zurück, der mit der Maske im String übereinstimmt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen