Maison > Questions et réponses > le corps du texte
<?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$ » ?
路过2017-10-21 22:24:59
[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
寻觅 beyond2017-10-21 12:35:29
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+$/';
寻觅 beyond2017-10-21 12:27:02
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