正则表达式的写法规则:"/规则需要写在2个斜杠中间/"。
元字符包括: +, *,?
元字符理解起来容易混淆,所以我在后面做了代码结果截图
 代码如下: 
“+”元字符规定其前导字符必须连续出现一次或多次 
= 比如/es+/ 
与“tesseessssseast12354haeasashaha”字符串相匹配,首先要与第一个字母e匹配,然后匹配s,s必须出现一次或多次,请看实例截图。 
“*”元字符规定其前导字符必须出现零次或连续多次 
= 比如/es*/ 
与“tesseessssseast12354haeasashaha”字符串相匹配,首先与第一个字母e匹配,后面的s出现零次或者连续出现,看实例。 
“?”元字符规定其前导对象必须连续出现零次或一次 
= 比如/es?/ 
与“tesseessssseast12354haeasashaha”字符串相匹配,首先与第一个字母e匹配,后面的s出现零次或者最多出现一次(就是最后一个字母s不重复出现)。 
 
示例代码: 
 代码如下: 
$str = "tesseessssseast12354haeasashaha"; 
echo "=====".$str." 
"; 
echo "/es+/:".preg_replace("/es+/","-//0-",$str)." 
"; 
echo "/es*/:".preg_replace("/es*/","-//0-",$str)." 
"; 
echo "/es?/:".preg_replace("/es?/","-//0-",$str)." 
"; 
?> 
 
执行结果截图:

另外如果觉得元字符“+*?”比较难理解可以用这种{ }方法代替:
比如es*我们可以写成es{0,},而es+我们可以写成es{1,},es?可以写成es{0,1},注意:当不确定次数的时候就不用写(也不用空格)。
当然我们要指定出现多少次的可以写成这样:es{3}表示s出现3次
举一反三:
比如要替换连续多个空格为一个空格,我可以这样写:preg_replace("//s+/"," ",$str);
比如要找出字符串中的数字(整数):preg_replace("//d+/", "(//0)", $str);   //0是表示符合规则的字符串值
比如要找出字符串中的带小数点的数字:preg_replace("//d+/./d+/", "(//0)", $str); //这里的“/.”表示输出小数点
找出由字母组成的字符串:preg_replace("/[a-zA-Z]+/", "(//0)", $str)
找出由(字母、数字混合)组成的字符串:preg_replace("/([a-zA-Z]|/d)+/", "(//0)", $str)
新闻热点
疑难解答
图片精选