Я хочу стереть .sql
файл, используя Perl 6 Grammar, интересно, могу ли я пропустить некоторые несвязанные строки во время синтаксического анализа?
Например: я хочу пропустить DROP
строк, /*!....!*/
строк, --
строк и пробел за пределами блока CREATE TABLE
в следующем тексте.
То есть я хочу сосредоточиться на CREATE TABLE
блоках:
DROP TABLE IF EXISTS `abcd`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `abcd` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'app_id',
`username` varchar(255) DEFAULT NULL COMMENT 'username',
`url` varbinary(255) DEFAULT NULL COMMENT 'url',
PRIMARY KEY (`id`),
UNIQUE KEY `NewIndex1` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=954 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `temp`
--
DROP TABLE IF EXISTS `temp`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `temp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`address` varchar(15) NOT NULL,
`name` varchar(50) DEFAULT NULL,
`phone_model` varchar(10) NOT NULL,
`expire_time` varchar(15) NOT NULL,
`created` varchar(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1496 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
Есть какие-нибудь предложения?