Maison > développement back-end > tutoriel php > PHP renvoie la longueur de la chaîne qui ne correspond pas au masque

PHP renvoie la longueur de la chaîne qui ne correspond pas au masque

王林
Libérer: 2024-03-21 13:04:02
avant
1014 Les gens l'ont consulté

L'éditeur PHP Banana a souligné que nous devons parfois supprimer d'une chaîne les caractères qui ne répondent pas à un masque spécifique, ce qui nécessite l'utilisation de certaines fonctions en PHP. Cet article explique comment utiliser les fonctions PHP pour filtrer les parties de la chaîne qui ne correspondent pas au masque et calculer sa longueur. Jetons un coup d'œil à la méthode de mise en œuvre spécifique !

PHP renvoie la longueur de la chaîne qui ne correspond pas à Mask

Dans php, vous pouvez utiliser la fonction preg_match() pour faire correspondre les parties d'une chaîne qui correspondent à un modèle spécifié (masque). Pour renvoyer la longueur d'une chaîne qui ne correspond pas au masque, procédez comme suit :

  1. Utilisez preg_match() pour faire correspondre une chaîne : La fonction preg_match() 函数将尝试将给定字符串与正则表达式模式进行匹配。如果找到匹配,它将返回 1 并将捕获的组存储在 $matches tentera de faire correspondre la chaîne donnée avec un modèle expression régulière. Si une correspondance est trouvée, il renvoie 1 et stocke le groupe capturé dans le $matches
  2. array
.
  1. $mask = "/[a-z]+/"; // 匹配小写字母的正则表达式
    preg_match($mask, $string, $matches);
    Copier après la connexion
    preg_match() 返回 0,则表示没有找到匹配。此时,整个字符串都不符合 mask。您可以使用 strlen()Vérifiez si le match a échoué :
  2. Si
renvoie 0, cela signifie qu'aucune correspondance n'a été trouvée. À ce stade, la chaîne entière ne correspond pas au masque. Vous pouvez obtenir la longueur d'une chaîne en utilisant la fonction strlen() :
  1. if (preg_match($mask, $string, $matches) == 0) {
    $length = strlen($string);
    }
    Copier après la connexion
    preg_match() 找到匹配,则 $matches[0] 将包含与整个 mask 匹配的字符串。您可以使用 strlen()Obtenez la longueur du groupe correspondant :
  2. Si
une correspondance est trouvée, $matches[0] contiendra la chaîne correspondant à l'intégralité du masque. Vous pouvez obtenir sa longueur en utilisant la fonction strlen() :
  1. if (preg_match($mask, $string, $matches) > 0) {
    $length = strlen($matches[0]);
    }
    Copier après la connexion
  2. Calculez la longueur des ficelles qui ne correspondent pas au masque :
Soustrayez la longueur de la partie correspondante de la longueur totale de la ficelle pour obtenir la longueur de la ficelle qui ne correspond pas au masque :

$non_matching_length = strlen($string) - $length;
Copier après la connexion

Enfin, le code suivant implémente les étapes ci-dessus :

function getNonMatchingLength($string, $mask) {
if (preg_match($mask, $string, $matches) == 0) {
return strlen($string);
} elseif (preg_match($mask, $string, $matches) > 0) {
$matching_length = strlen($matches[0]);
$non_matching_length = strlen($string) - $matching_length;
return $non_matching_length;
} else {
return 0;
}
}

$string = "This is a string with non-numeric characters.";
$mask = "/[0-9]+/"; // 匹配数字的正则表达式
$non_matching_length = getNonMatchingLength($string, $mask);

echo "Length of the non-matching part: $non_matching_length";
Copier après la connexion
🎜Sortie : 🎜
Length of the non-matching part: 41
Copier après la connexion

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!

Étiquettes associées:
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