<?php
$zz = '/[0-5]w+/';
$string = '1C';
$string2 = '1C$';
if(preg_match($zz, $string, $matches)){
echo 'correspond, le résultat est?:';
var_dump($matches);
}else{
echo 'aucune correspondance Allez dans ';
}
?>
Q1:$zz = '/[0-5]w+/'; à quoi sert le signe + Pourquoi n'est-il pas inclus dans certains exemples plus tard?? ?
Q2?: Pourquoi le résultat de sortie $string est-il 1C?? Ne devrait-il pas être ??1????
Q3 : Si le résultat de sortie de $string est 1C, le résultat de sortie de $string1 ne devrait-il pas être ? 1C$ ? ?
[0-5] peut correspondre à n'importe lequel des 0-5
w correspond à n'importe quel caractère de mot, y compris les traits de soulignement. équivalent à '[A-Za-z0-9_]'. $ n'est pas dans la plage
+ s'identifie une ou plusieurs fois
Parce que $, +, etc. sont tous des symboles spéciaux, donc lorsque vous souhaitez faire correspondre ces caractères, vous devez clairement indiquer quel symbole spécial vous souhaitez faire correspondre dans $pattern (utilisez une barre oblique inverse pour transférer),
Par exemple, si vous voulez faire correspondre $string2 Pour faire correspondre $, remplacez simplement $zz = '/[0-5]w+/'; par $zz = '/[0-5]w+$/';
Q1, + signifie que l'atome précédent appara?t 1 ou plusieurs fois
Q2, voir Q1, + signifie que le w (caractère) précédent appara?t 1 ou plusieurs fois, donc le C après 1 sera également mis en correspondance
Q3, des symboles tels car $, +, - sont tous des symboles spéciaux. J'ai oublié où j'ai lu un blog. W ne peut pas faire correspondre ces symboles spéciaux. Vous pouvez essayer de remplacer $ par d'autres lettres et cela correspondra. passe par là, j'espère que tu pourras l'expliquer