1. ()匹配并捕获
2. []匹配字符组里的每一个字符
3.{}匹配出现的次数
<?php $str="taoshihan"; preg_match_all("/(tao)/",$str,$m);//匹配并捕获 var_dump($m); /* [0]是匹配到的 [1]是捕获到的 array(2) { [0]=> array(1) { [0]=> string(3) "tao" } [1]=> array(1) { [0]=> string(3) "tao" } } */ preg_match_all("/[tao]/",$str,$m);//匹配字符组中的字符 var_dump($m); /* 按照单独的字符进行的匹配 array(1) { [0]=> array(4) { [0]=> string(1) "t" [1]=> string(1) "a" [2]=> string(1) "o" [3]=> string(1) "a" } } */ preg_match_all("/a{1}/",$str,$m);//匹配大括号前面的表达式出现次数 var_dump($m); /* 这里就是表示a出现一次 , 有两个地方 array(1) { [0]=> array(2) { [0]=> string(1) "a" [1]=> string(1) "a" } } */ $str="123456"; preg_match_all("/[0-9]{1}/",$str,$m);//匹配大括号前面的表达式出现次数 var_dump($m); /* 匹配数字出现一次 array(1) { [0]=> array(6) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "4" [4]=> string(1) "5" [5]=> string(1) "6" } } */ $str="1234567"; preg_match_all("/[0-9]{1,2}/",$str,$m);//匹配最少出现1次,最多出现2次 var_dump($m); /* array(1) { [0]=> array(4) { [0]=> string(2) "12" [1]=> string(2) "34" [2]=> string(2) "56" [3]=> string(1) "7" } } */
!preg_match('/^[a-zA-Z0-9]{2,16}$/') 只允许2~16位大小写字母及数字