Php 如何解析这个:char(x)?
我使用YAML来获取MySQL模式,我需要只解析这类字符串Php 如何解析这个:char(x)?,php,parsing,yaml,Php,Parsing,Yaml,我使用YAML来获取MySQL模式,我需要只解析这类字符串CHAR(60)或VARCHAR(90)等等 解析结果如下所示: array('CHAR', 60); array('VARCHAR', 90); 下面的正则表达式将执行此操作。如果不是每行一个,还应在开始斜杠之后和结束斜杠之前添加\b边界 $s = "VARCHAR(90)"; $matches = array(); preg_match("/([A-Z]+)\(([0-9]+)\)/", $s, $matches); // The
CHAR(60)
或VARCHAR(90)
等等
解析结果如下所示:
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]);
编辑:第一次使
$匹配项
数组键出错。应该是1和2,而不是0和1。下面的正则表达式可以做到这一点。如果不是每行一个,还应在开始斜杠之后和结束斜杠之前添加\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]);
编辑:第一次使
$匹配项
数组键出错。应该是1&2,而不是0&1。我找到了一个更好的解决方案:只要访问此URL,您就会看到示例。我找到了一个更好的解决方案:只要访问此URL,您就会看到示例。