国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Atomes dans la représentation des expressions régulières php

Atom

Atom est la plus petite unité de l'expression régulière. Pour parler franchement, l'atome est le contenu qui doit correspondre. Une expression régulière valide doit contenir au moins un atome.

Tous les caractères visibles et invisibles sont des atomes

Explication : On voit des espaces, des retours chariot, des sauts de ligne, 0-9, A-Za-z, chinois, ponctuation les marques et les symboles spéciaux sont tous des atomes.

Avant de faire l'exemple atomique, expliquons d'abord une fonction, preg_match?:

int preg_match ( string $regular, string $string[, array &$result] )

Fonction?:?fait correspondre la variable $string basée sur la variable $regular. S'il existe, renvoyez le nombre de correspondances et placez les résultats correspondants dans la variable $result. Si aucun résultat n'est trouvé, 0 est renvoyé.

Remarque?:?ce qui précède sont les principaux paramètres couramment utilisés par preg_match. Je n'ai pas énuméré plusieurs autres paramètres ci-dessus. Parce que les deux autres paramètres sont trop rares.

Prouvons-le par des expériences?:

<?php
//定義一個(gè)變量叫zz,放正則表達(dá)示。為了方便大家記憶,如果你英文比較ok,建議把變量名還是寫成英文的$pattern。
$zz = '/a/';

$string = 'ddfdjjvi2jfvkwkfi24';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

Parce que ce que je veux, c'est faire correspondre a, et $string n'existe pas a, donc c'est un échec.

<?php
$zz = '/wq/';

$string = 'ssssswqaaaaaa';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

Il y a wq après s dans la cha?ne ci-dessus, donc la correspondance est réussie.

Essayons ensuite de faire correspondre un espace?:

<?php
$zz = '/ /';

$string = 'sssssw aaaaa';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

Le résultat de l'exécution est le suivant?:

QQ截圖20161114135142.png

à cause de cela, $ string is Il y a un espace après le caractère w de la variable. La correspondance est donc réussie et le type de cha?ne est généré avec une longueur de 1. C'est juste que nos yeux nus sont invisibles et ne peuvent pas voir cette corde.

Atomes spécialement marqués

原子說(shuō)明
d匹配一個(gè)0-9
D除了0-9以外的所有字符
wa-zA-Z0-9_
W除了0-9A-Za-z_以外的所有字符
s匹配所有空白字符n t r 空格
S匹配所有非空白字符
[ ]指定范圍的原子


Vous devez vous en rappeler, il est préférable d'atteindre le niveau dictée. Lors de la mémorisation, rappelez-vous que par paires, d correspond à un 0-9, puis D correspond à tous les caractères sauf 0-9.
Ce qui précède a été expliqué très clairement. Menons des expériences pour les apprendre étape par étape.

Lorsque vous étudiez, assurez-vous d'atteindre le niveau de dictée pour ces atomes. Parce que lorsque nous ferons des expériences dans le futur, vous l'apprendrez petit à petit.

d correspond à une valeur 0-9

<?php
$zz = '/\d/';

$string = '我愛(ài)喝9你愛(ài)不愛(ài)喝';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

D correspond à une valeur autre que 0-9

<?php
$zz = '/\D/';

$string = '121243中23453453';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

Le match a été réussi et le match a été réussi. Parce que ce n'est pas un caractère entre 0 et 9.

w correspond à a-zA-Z0-9_

<?php
$zz = '/\w/';

$string = '新中_國(guó)萬(wàn)歲呀萬(wàn)歲';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

Le match est réussi et le trait de soulignement correspond.

W correspond à un non-a-zA-Z0-9_

<?php
$zz = '/\w/';

$string = 'afasABCWEQR44231284737';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

échec de la correspondance. Parce que tout ce qui précède est a-zA-Z0-9_, et il n'y a rien qui ne soit a-zA-Z0-9_.

s correspond à tous les caractères d'espacement n t r espaces

<?php
$zz = '/\s/';

$string = "中國(guó)萬(wàn)
歲";

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

correspond avec succès car il y a un retour chariot. Les caractères

S non vides

<?php
$zz = '/\s/';

$string = "        
         a       ";

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

correspondent avec succès. Bien qu'il y ait des espaces, des retours chariot et des retraits dessus. Cependant, il existe un caractère non-espace a. Le match est donc réussi.

[] Atomes dans la plage spécifiée

<?php

$zz = '/[0-5]\w+/';

$string = '6a';

$string1 = '1C';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

Conclusion?:
Dans l'exemple ci-dessus, 0-5 n'a pas réussi à correspondre à $string , tandis que $string1 réussit. Parce que la première valeur de $string est 6, ce qui n'est pas compris dans la plage [0-5].

<?php

$zz = '/[a-zA-Z0-9_]\w/';

$string = 'ab';

$string1 = '9A';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

Conclusion?:

$string et $string1 correspondent tous deux avec succès. Parce que w est [a-zA-Z0-9_]

<?php

$zz = '/[abc]\d+/';

$string = 'a9';

$string1 = 'b1';

$string2 = 'c5';

$string3 = 'd4';


if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

Conclusion?:

$string, $string1, $string2 correspondent avec succès, mais $string3 échoue. étant donné que $string3 dépasse la plage de [abc], il commence à d.

[^ caractère] ne correspond pas aux caractères de la plage spécifiée

<?php

$zz = '/[^0-9A-Za-z_]/';

$string = 'aaaaab311dd';

$string1 = '!$@!#%$#^##';

if(preg_match($zz, $string, $matches)){
   echo '匹配到了,結(jié)果為:';
   var_dump($matches);
}else{
   echo '沒(méi)有匹配到';
}

?>

Conclusion?:

1. Correspondance de $string failed , mais il réussit lors de la correspondance avec $string1. Parce qu’il y a un caractère circonflexe à l’intérieur des crochets.

2.^ La fonction du caractère circonflexe à l'intérieur des crochets n'est pas de faire correspondre les caractères à l'intérieur des crochets.

Résumé?:

原子等價(jià)式
w[a-zA-Z0-9_]
W[^a-zA-Z0-9_]
d[0-9]
D[^0-9]
s[ tnfr]
S[^ tnfr]
Formation continue
||
<?php $zz = '/[^0-9A-Za-z_]/'; $string = 'aaaaab311dd'; $string1 = '!$@!#%$#^##'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒(méi)有匹配到'; } ?>
soumettreRéinitialiser le code