我想使用正则表达式在 Notepad++ 中根据现有单词添加新行。例如,我有以下包含多个创建表语句的文件,我需要添加“如果存在则删除表”。
CREATE TABLE table1 ( ) ;
CREATE TABLE table2 ( ) ;
CREATE TABLE table3 ( ) ;
CREATE TABLE table4 ( ) ;
我正在寻找如下所示的输出。这里的表名不同。
DROP TABLE IF EXISTS table1;
CREATE TABLE table1 ( ) ;
DROP TABLE IF EXISTS table2;
CREATE TABLE table2 ( ) ;
DROP TABLE IF EXISTS table3;
CREATE TABLE table3 ( ) ;
DROP TABLE IF EXISTS table4;
CREATE TABLE table4 ( ) ;
答案1
答案2
- Ctrl+H
- 找什么:
CREATE TABLE (\w+) \( \) ;
- 用。。。来代替:
DROP TABLE IF EXISTS $1;\n$0
- 取消选中 相符
- 查看 环绕
- 查看 正则表达式
- Replace all
解释:
CREATE TABLE # Literally
(\w+) # group 1, 1 or more word character (the table name)
\( \) ; # parentheses, have to be escaped as they have special meaning in regex
替代品:
DROP TABLE IF EXISTS # literally
$1 # content of group 1, the table name
; # semicolon
\n # linefeed, you can use \r\n for windows EOL
$0 # content of group 0, the whole match (CREATE TABLE ...)
截图(之前):
截图(之后):