我有一个带有 mysql 结构转储的字符串。
...
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `contig`
--
DROP TABLE IF EXISTS `contig`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `contig` (
`id` int(10) NOT NULL,
`seq` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_c
..
现在我想选择每个包含创建表查询的字符串。我尝试re.findall
了几个正则表达式(例如(CREATE TABLE)(.*)[^;]*
)
但是我尝试过的每个正则表达式充其量都返回了[('CREATE TABLE', " 'contig' (")]
。但我希望整个查询作为列表中的一个元素。我试图rstrip
删除断线,但没有任何效果。
如何将每个 INSERT INTO 查询作为一个整体?