php preg_mach имя базы данных mysql - PullRequest
0 голосов
/ 01 марта 2011

Кто-то, пожалуйста, дайте мне preg для этого

$tbl = '`db_name`.`tbl_name`';

if(preg_match('????',$tbl)){
   echo 'ye';
}else{
   echo 'no';
}

Мне нужен ???? preg_match, просто так:

  • начинается с `(этоmysql_special запятая не знает имени)
  • Затем следует az, число, подчеркивание
  • , за которым следует `(mysql)

  • , разделенных (точка).

  • , за которым следует `(mysql)
  • , за которым следует az, число, подчеркивание
  • , за которым следует` (mysql)

Ответы [ 2 ]

1 голос
/ 01 марта 2011
preg_match('/^`(.*?)`\\.`(.*?)`$/i', $tbl, $matches);
$db = $matches[1];
$table = $matches[2];

Это немного более общее.Выражение .*? будет соответствовать всем символам, пока не достигнет символа, следующего за этим выражением (в данном случае, символа).

1 голос
/ 01 марта 2011
preg_match('/^`([a-z0-9_]+)`\\.`([a-z0-9_]+)`$/i', $tbl, $matches);
...