1. ()匹配并捕获
2. []匹配字符组里的每一个字符
3.{}匹配出现的次数
代码语言:javascript复制<?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位大小写字母及数字