L'éditeur PHP Xigua vous présente un besoin courant : comment trouver la sous-chaîne qui correspond à un masque spécifique dans la chaîne renvoyée et calculer sa longueur. Ce problème implique le traitement des chaînes et le jugement logique.Grâce aux fonctions intégrées de PHP et à quelques opérations simples, nous pouvons facilement implémenter cette fonction. Voyons ensuite comment utiliser PHP pour répondre à cette exigence.
Obtenir la longueur de la première sous-chaîne qui correspond au masque dans une chaîne en PHP
Dans php, vous pouvez utiliser la fonction preg_match()
pour obtenir la première sous-chaîne d'une chaîne qui correspond à un masque donné et renvoyer sa longueur. La syntaxe est la suivante :
int preg_match(string $pattern, string $subject, array &$matches = null, int $flags = 0, int $offset = 0): int
Parmi eux :
$pattern
: Modèle de masque assorti. $subject
: la chaîne dans laquelle rechercher. &$matches
: Un paramètre facultatif utilisé pour stocker les résultats correspondants. $flags
: indicateur correspondant au motif (facultatif, la valeur par défaut est 0). $offset
: Le décalage à partir duquel commencer la recherche (facultatif, la valeur par défaut est 0). Pour obtenir la longueur de la première sous-chaîne d'une chaîne qui correspond au masque, vous pouvez suivre ces étapes :
[a-zA-Z0-9]+
. preg_match()
函数:使用 preg_match()
: $string = "This is a sample string."; $mask = "[a-zA-Z0-9]+"; $matches = []; preg_match($mask, $string, $matches);
$matches
数组将包含匹配的子字符串。第一个匹配的子字符串存储在 $matches[0]
Obtenez les résultats de la correspondance : $matches
contiendra la sous-chaîne correspondante. La première sous-chaîne correspondante est stockée dans . $matches[0]
Obtenir la longueur de
, qui est la longueur de la sous-chaîne qui correspond au masque pour la première fois.L'exemple de code complet est le suivant :
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";
Length of the first matching substring: 4
preg_match()
Les choses à noter sont :
$flags
S'il n'y a pas de sous-chaîne correspondant au masque dans la chaîne, la fonction Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!