日期:2014-05-17  浏览次数:20497 次

求正则 出int(11) 中的int 和11
请匹配 int(11) 和int

也就是说当没有后面的括号只匹配int

------解决方案--------------------
PHP code

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

print_r($m[0]);

------解决方案--------------------
PHP code

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

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

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