PHP ??? ??? ??
Atom
Atom? ????? ?? ?? ?????. ????? ??? Atom? ???? ?? ?????. ??? ?? ????? ?? ??? ??? ????? ???.
??? ??? ??? ?? ??? ?? ?????.
??: ??, ??? ??, ? ??, 0-9, A-Za-z, ???, ???? ? ? ????. ??, ?? ??? ?? ?????.
??? ??? ???? ?? ?? preg_match ??? ???????.
int preg_match ( string $regular, string $string[, array &$result] )
??: $regular ??? ???? $string ??? ??????. ???? ?? ?? ?? ?? ???? ??? ??? $result ??? ????. ??? ??? 0? ?????.
??: ?? preg_match?? ????? ???? ?? ???????. ??? ?? ?? ????? ???? ?????. ?? ? ????? ?? ??? ?????.
??? ?? ?????:
<?php //定義一個變量叫zz,放正則表達示。為了方便大家記憶,如果你英文比較ok,建議把變量名還是寫成英文的$pattern。 $zz = '/a/'; $string = 'ddfdjjvi2jfvkwkfi24'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
a? ???? ??? $string? a? ???? ?? ???? ????.
<?php $zz = '/wq/'; $string = 'ssssswqaaaaaa'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
? ????? s ?? wq? ???? ??? ??? ????.
???? ?? ??? ??? ?????.
<?php $zz = '/ /'; $string = 'sssssw aaaaa'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
?? ??? ??? ????.
? ??? $ string is ??? w ?? ?? ??? ????. ??? ??? ???? ??? ??? ??? 1? ?????. ?? ??? ????? ??? ??? ? ?? ? ? ????.
??? ??? ??
原子 | 說明 |
---|---|
d | 匹配一個0-9 |
D | 除了0-9以外的所有字符 |
w | a-zA-Z0-9_ |
W | 除了0-9A-Za-z_以外的所有字符 |
s | 匹配所有空白字符n t r 空格 |
S | 匹配所有非空白字符 |
[ ] | 指定范圍的原子 |
? ?? ?????? ???. ???? ??? ???? ?? ?? ????. ??? ? ??? ?????. d? 0-9? ???? D? 0-9? ??? ?? ?????.
? ??? ?? ???? ???? ????. ???? ???? ?? ??? ??? ?????.
???? ? ? ? ??? ?? ???? ??? ????? ????. ???? ??? ??? ?? ??? ?? ??? ?????.
d? 0-9 ?? ??
<?php $zz = '/\d/'; $string = '我愛喝9你愛不愛喝'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
D? 0-9 ??? ?? ??
<?php $zz = '/\D/'; $string = '121243中23453453'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
????? ??? ????? ?????. 0~9 ??? ??? ??? ?????.
w? a-zA-Z0-9_
<?php $zz = '/\w/'; $string = '新中_國萬歲呀萬歲'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
? ?????. ??? ???? ??? ?????.
W? a-zA-Z0-9_
<?php $zz = '/\w/'; $string = 'afasABCWEQR44231284737'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
? ???? ????. ???? ?? ??? ?? a-zA-Z0-9_??, a-zA-Z0-9_? ?? ?? ?? ?????.
s? ?? ?? ?? n t r ??? ?????.
<?php $zz = '/\s/'; $string = "中國萬 歲"; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
? ??? ??? ???? ????? ?????.
S?? ?? ?? ?? ??
<?php $zz = '/\s/'; $string = " a "; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
? ????? ?????. ??? ???? ??? ?? ? ????? ?????. ??? ??? ?? ?? a? ????. ??? ??? ?????.
[] ??? ??? ??
<?php $zz = '/[0-5]\w+/'; $string = '6a'; $string1 = '1C'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
??:
?? ??? 0-5? $string? ???? ?????. , $string1 ??. ???? $string? ? ?? ?? 6?? ?? [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 '沒有匹配到'; } ?>
??:
$string? $string1? ?? ????? ?????. w? [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 '沒有匹配到'; } ?>
??:
$string, $string1, $string2? ????? ????? $string3? ??????. $string3? [abc]? ??? ????? d?? ?????.
[^ ??]? ??? ??? ??? ???? ????.
<?php $zz = '/[^0-9A-Za-z_]/'; $string = 'aaaaab311dd'; $string1 = '!$@!#%$#^##'; if(preg_match($zz, $string, $matches)){ echo '匹配到了,結(jié)果為:'; var_dump($matches); }else{ echo '沒有匹配到'; } ?>
??:
1. $string ?? failed ??? $string1? ???? ?????. ??? ?? ?? ??? ?? ?????.
2.^ ??? ?? ?? ??? ??? ??? ?? ??? ???? ?? ????.
??:
原子 | 等價式 |
---|---|
w | [a-zA-Z0-9_] |
W | [^a-zA-Z0-9_] |
d | [0-9] |
D | [^0-9] |
s | [ tnfr] |
S | [^ tnfr] |