在 Notepad++ 中查找并替换搜索字符串的多个实例

问题描述 投票:0回答:1

对于 Notepad++ 中的以下场景,我需要在同一目录中的多个文件中查找和替换(注意“在文件中查找”选项卡)。

文件1查找:

1. REM INSERTING INTO TABLE1
2. SET DEFINE OFF;
3. INSERT INTO TABLE1 VALUES(....);

文件1替换:

1. REM INSERTING INTO TABLE1
2. SET DEFINE OFF;
3. CALL CUSTOM_PACK.PROC_NAME('TABLE1');
4. INSERT INTO TABLE1 VALUES(....);
5. COMMIT;
6. CALL CUSTOM_PACK.PROC_NAME('TABLE1');

文件2查找:

1. REM INSERTING INTO TABLE2
2. SET DEFINE OFF;
3. INSERT INTO TABLE2 VALUES(....);

文件2替换:

1. REM INSERTING INTO TABLE2
2. SET DEFINE OFF;
3. CALL CUSTOM_PACK.PROC_NAME('TABLE2');
4. INSERT INTO TABLE2 VALUES(....);
5. COMMIT;
6. CALL CUSTOM_PACK.PROC_NAME('TABLE2');

等等...而新行 3,5,6 应该从 TABLENAME 自动生成。 任何帮助将不胜感激。

notepad++
1个回答
0
投票

对于每个文件,您可以在正则表达式模式下尝试以下查找和替换:

Find:    1\. REM INSERTING INTO (\w+)\R2\. SET DEFINE OFF;\R3\. INSERT INTO \1 VALUES\(\.\.\.\.\);
Replace: 1. REM INSERTING INTO $1\n2. SET DEFINE OFF;\n3. CALL CUSTOM_PACK.PROC_NAME\('$1'\);\n4. INSERT INTO $1 VALUES\(....\);\n5. COMMIT;\n6. CALL CUSTOM_PACK.PROC_NAME\('$1'\);

作为解释,该模式从第一行捕获表名称,然后在构建新行时使用该表名称。

© www.soinside.com 2019 - 2024. All rights reserved.