假设我有一个MySQL转储,它创建了很多表。
示例:
CREATE TABLE `my_table` (
`id` bigint(20) NOT NULL,
`REVTYPE` tinyint(4) DEFAULT NULL
`some_other_column` varchar(255)
);
查找以下内容的有效正则表达式是什么:
所以结果看起来像:
CREATE TABLE `my_table` (
`REVTYPE` tinyint(4) DEFAULT NULL
答案 0 :(得分:1)
此正则表达式似乎有效:
^((CREATE.*my_.*\n)|(\s+.*tinyint.*\n)|(\s+.*(?!tinyint)\n))
CREATE TABLE `my_table` (
`id` bigint(20) NOT NULL,
`id` bigint(22) NOT NULL,
`REVTYPE` tinyint(4) DEFAULT NULL,
`id` bigint(20) NOT NULL,
`REVTYPE` tinyint(5) DEFAULT NULL,
`some_other_column` varchar(255)
);
成为(用$2$3
代替):
CREATE TABLE `my_table` (
`REVTYPE` tinyint(4) DEFAULT NULL,
`REVTYPE` tinyint(5) DEFAULT NULL,
);
[我假设OP希望最后使用);
-如果不正确,则建议。]
。
参见regex101 link: