<?php$item = 'abc';preg_match('/^[a-z]+\/?$/',$item,$ret);var_dump($ret);

解决方案 »

  1.   

    <?php
     
    $item = 'abc';
     
    preg_match("#[a-z]{2,3}|[a-z]{2,3}\ /#",$item,$ret);
     
    var_dump($ret);
      

  2.   

    aaa
    bb
    aaa/
    bb/
    cc
    ccc/你试试上面的正则,
      

  3.   


    哦  没注意需要前面那个一样啊 用下面这个带反向应用的吧 也控制了前边字符2~3个 $item = 'aaa';preg_match('/^([a-z])\\1{1,2}\/?$/',$item,$ret);var_dump($ret);
      

  4.   

    修改楼上的:
    (1)preg_match_all('#^([a-z])\\1{1,3}(?:\/)?#m',$a,$mat);【首先,"/"并非是必现,所以应放入括号作为可选,另外使用模式符"m",多行匹配】
    (2)获取匹配的话,应该使用$mat[0],因为$mat[1]会保存第一个括号内的捕获,即a、b、c等