Tom: preg_match, xter eigener Versuch ohne gewünschten Erfolg

Beitrag lesen

Hello,

Ich habe das jetzt mal mit dem Array versucht:

#$metasum = "bigint(20) unsigned";
$metasum = "set('EINS','ZWEI','DREI','VIER','FÜNF')";
#$metasum = "double(11,5)";

#$type="([a-z]{3,})";
$type="tinyint|smallint|mediumint|int|bigint|float|double|decimal|".
      "date|datetime|timestamp|time|year|char|varchar|tinyblob|".
      "tinytext|text|blob|mediumblob|mediumtext|longblob|longtext|".
      "enum|set";

$len="([0-9]{1,3})";
$dec=",([0-9]{1,3})";

preg_match("#^($type){1}((([^)]+)))*(\s(unsigned){1})*#i",
   $metasum, $matches);

echo "<pre>";
print_r($matches);
echo "</pre>";

Aber wenn man da z.B. statt "set(...)" "seti(...)" übergibt, passt das ja auch. Wie bekomme ich denn hin, dass nur ganz exact die Typen matchen und dann erst eine Klammer oder ggf noch ein Leerzeichen, falls das in anderen MySQL-Versioenn noch so war) kommen muss?

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen