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

WBOY
Libérer: 2024-03-21 21:34:02
avant
682 Les gens l'ont consulté

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
Copier après la connexion

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);
    Copier après la connexion
    $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";
Copier après la connexion

Exemple de sortie :
  • Length of the first matching substring: 4
    Copier après la connexion
    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!

source:lsjlt.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal