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