【发布时间】:2017-11-24 03:28:33
【问题描述】:
基本上,我想做的是解析一个*.sql 文件并选择所有CREATE TABLE 语句。示例如下:
-- ----------------------------
-- Table structure for aes_interval
-- ----------------------------
DROP TABLE IF EXISTS `aes_interval`;
CREATE TABLE `aes_interval` (
`processcode` bigint(20) NOT NULL,
`overstaying` int(11) NOT NULL,
`floating` int(11) NOT NULL,
PRIMARY KEY (`processcode`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci;
通过运行将在(...) 之间全选的正则表达式,我将能够获得如下输出/子字符串文本:
CREATE TABLE `aes_interval` (
`processcode` bigint(20) NOT NULL,
`overstaying` int(11) NOT NULL,
`floating` int(11) NOT NULL,
PRIMARY KEY (`processcode`) USING BTREE
)
我试过CREATE TABLE\w+\((.|\n)*?\) 但它只返回下面的输出:
CREATE TABLE `aes_interval` (
`processcode` bigint(20)
希望我能在这里找到正确的正则表达式。
【问题讨论】:
-
你用什么来“解析”文件?赛德? grep?还有什么?
标签: sql regex string multiline