1、* (匹配0次或1次或多次前面的字符)
示例如下:
$pattern='/te*st/';
$str='abcteeeeeeeeeeeeeeeeest';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);
输出结果为

2、+(匹配1次或多次前面的字符)
3、?(匹配0次或1次前面的字符)
3、{n}(表示前面的字符恰好出现n次)
示例如下:
$pattern='/te{2}st/';
$str='abcteest';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);
输出结果为

4、{n,}(表示前面的字符出现不少于n次)
5、{n,m}(表示前面的字符出现不少于n次,不多于m次)
6、.(贪婪匹配,尽可能多的去匹配字符)
7、 .?(懒惰匹配)
示例如下
$pattern='/1.*?t/';
$str='1111tesfwet1fbhfbergithfweuytest';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);
输出源代码

8^或\A(匹配字符串开始位置)
示例
$pattern="/^testa/";
$str='testabctestadasfatest';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);
输出结果

9、$或者\Z(匹配字符串结束位置)
10、|(匹配两个或多个模式)
示例如下
$pattern="/test|abc/";
$str='testabcteswabctadasfatest';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);
输出结果为

11、[ ](匹配方括号中任意一个字符)
$pattern="/t[abcde]st/";
$str='abcteswabctadasfatast';
var_dump(preg_match_all($pattern,$str,$arr));
var_dump($arr);
输出结果为

12、[ ^] (匹配除方括号以外的任意一个字符)
7万+

被折叠的 条评论
为什么被折叠?



