请匹配 int(11)  和int也就是说当没有后面的括号只匹配int

解决方案 »

  1.   


    $str =<<<DOC
    请匹配 int(11) 和int
    DOC;
    preg_match_all("#int(\([\d]+\))?#", $str, $m);print_r($m[0]);
      

  2.   

    上面写的不行,我自己写好了,不知道好不好,但是可用,贴出来大家看看,有什么不对的。$aa="int(11)";
    $bb = preg_replace("/[a-z]|[A-Z]|\(|\)/","",$aa);  //匹配11
    $bb = preg_replace("/\([^\)]*\)/","",$aa);         //匹配int
      

  3.   


    我要分别匹配出两个内容啊
    int(11) 分别要匹配出
    int
    11
      

  4.   


    $str =<<<eof
    请匹配 int(11) 和int 
    eof;
    preg_match("#(int)\((\d+)\)#", $str, $m); 
    echo $m[1]."<br>";
    echo $m[2];
      

  5.   

    我要用
    $sql="show full fields from table";
    这个来获取字段类型,长度
    $rs[type]
    返回的是int(11)
    我要区别获取字段名,和长度,懂了吗?
      

  6.   

    $str =<<<eof
    varchar(11)| text
    eof;
    preg_match_all("#([a-z]+)\(?(\d*)\)?#i", $str, $m); 
    print_r($m);
      

  7.   

    按楼主的应用,检测int就可以了。
    以(为分界,拿出2个部分,应该就是楼主想要的了。