小弟学习了两天的正则后想自己一个试试效果<?php
$str ="(213123)-/gfsdfg";$pattern="/^\(\d{0,20}\)-\/([a-z]+)$/";$where = preg_match_all($pattern,$str,$out);
echo $out[0][0];
?>我写了以上一点匹配代码,能正确的将字符串$str里面的内容全部匹配出来但是最后发现一个问题如果我的字符串改成“我是开头(213123)-/gfsdfg我是结尾”我要匹配出中间该怎么办呢?(213123)-/gfsdfg正则里面如何设置匹配从哪开始到哪结束!!
望各位朋友帮帮小弟!在此先谢谢以前帮助过小弟的网友们!也先谢过能够帮助我解决此问题的朋友!

解决方案 »

  1.   

    去掉^和$
    $pattern="/\(\d{0,20}\)-\/([a-z]+)/";
      

  2.   

    $pattern="/^\(\d{0,20}\)-\/([a-z]+)$/";你这个正则只能是(数字或者什么都没有)-/长度大于1的字符串你把边界符去掉就可以匹配中间的
      

  3.   

    我要匹配出中间该怎么办呢?(213123)-/gfsdfg正则里面如何设置匹配从哪开始到哪结束!!var_dump($out[0]);