Maison  >  Article  >  développement back-end  >  PHP renvoie la longueur de la première chaîne qui correspond au masque dans la chaîne

PHP renvoie la longueur de la première chaîne qui correspond au masque dans la chaîne

WBOY
WBOYavant
2024-03-21 21:31:06616parcourir

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 :

  1. Définir le motif du masque : Écrivez le motif du masque en fonction de la chaîne à faire correspondre. Par exemple, pour faire correspondre une chaîne alphanumérique, vous utiliserez [a-zA-Z0-9]+.
  2. Appelez la fonction preg_match() 函数:使用 preg_match() :
  3. Utilisez la fonction
pour rechercher des sous-chaînes dans une chaîne qui correspondent au masque. Par exemple :
  1. $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 :
  2. Si la correspondance est réussie, le
  3. array $matches contiendra la sous-chaîne correspondante. La première sous-chaîne correspondante est stockée dans . $matches[0]
Renvoyer la longueur de la sous-chaîne :

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";

Exemple de sortie :
  • Length of the first matching substring: 4
    preg_match()Les choses à noter sont :
  • $flagsS'il n'y a pas de sous-chaîne correspondant au masque dans la chaîne, la fonction
  • renverra 0, auquel cas -1 devra être renvoyé.
🎜🎜 Les paramètres peuvent être utilisés pour spécifier des options de correspondance supplémentaires, telles que l'ignorance de la casse ou la correspondance sur plusieurs lignes. 🎜 🎜

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer