我有一个执行数据库查询的脚本,我使用分号+新行(\n
)将一个查询与另一个查询分开。见下文:
CREATE TABLE `moxedo`.`mox_config` (`;`, `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , `group_id` INT(3) UNSIGNED NOT NULL , `is_enabled` INT(1) UNSIGNED NOT NULL , `tag` VARCHAR(255) NOT NULL , `name` VARCHAR(80) NOT NULL , `value` VARCHAR(255) NOT NULL , `description` TEXT NOT NULL , `init_params` TEXT NOT NULL , `datetime_added` DATETIME NOT NULL , `datetime_lastmodified` DATETIME NOT NULL , `timestamp_univ` BIGINT(14) NOT NULL , PRIMARY KEY ( `id` ) )
ENGINE = INNODB;
ALTER TABLE `moxedo`.`mox_config` ADD UNIQUE `ix_u_tag_ge` ( `tag` );
我正在寻找一个可以帮助我捕获每个数据库查询的正则表达式模式。但是,我还需要在查询正文中容纳半冒号的出现,如上面的代码所示。
我很感激一些帮助。提前谢谢。
答案 0 :(得分:1)
你可以尝试一下:
(.*?;)(?!`)(?:\s|$)
(.*?;)
- 匹配所有内容后跟分号...... (?:\s+|$)
- 后跟空格字符或字符串结尾如果有其他用例,分号可能出现在不同的位置,则正则表达式将需要相应更新。