0
我用YAML来获得MySQL架构,我需要解析只有这几样串CHAR(60)
或VARCHAR(90)
等..如何解析这个:char(x)?
解析结果会是这样:
array('CHAR', 60);
array('VARCHAR', 90);
我用YAML来获得MySQL架构,我需要解析只有这几样串CHAR(60)
或VARCHAR(90)
等..如何解析这个:char(x)?
解析结果会是这样:
array('CHAR', 60);
array('VARCHAR', 90);
下面的正则表达式会做它。如果这些行不是每行发生一次,则还应在开始斜线之后和关闭之前添加\b
边界。
$s = "VARCHAR(90)";
$matches = array();
preg_match("/([A-Z]+)\(([0-9]+)\)/", $s, $matches);
// Then use the matched values into your array.
array($matches[1], $matches[2]);
EDIT:有$matches
数组键错误的第一次。应该是1 & 2而不是0 & 1.
太棒了!谢谢。 – dino 2011-05-09 02:34:31
我找到了一个更好的解决方案:只要访问这个URL [preg_match#101618](http://www.php.net/manual/en/function.preg-match。 php#101618),你会看到这个例子。 – dino 2011-05-09 18:30:53