如何在notepad ++中替换模式

时间:2017-07-14 20:55:28

标签: regex replace notepad++

我有一个sql过程代码。我们正在不同架构上迁移代码。我需要替换所有维度表模式。

实施例: 旧架构:DBO.ABC_DIM,DBO.XYZ_DIM

替换后:MART.ABC_DIM,MART.XYZ_DIM

任何人都可以通过正则表达式替换让我知道如何做到这一点。

由于 天空

2 个答案:

答案 0 :(得分:1)

你必须使用: 在“查找内容”字段中:

(DBO)\.

和“替换为”字段:

MART\.

不要忘记将光标放在文件的开头。否则,替换在实际光标位置

之后开始

编辑:

所以在这种情况下如果你有其他人,你可以使用:

查找字段:

\b(DBO\.)(.+?)_DIM\b

替换字段:

MART\.$2_DIM

有些人喜欢:

DBO.ABC_DIM, DBO.XYZ_DIM, 
DBO.ABC_DTL, DBO.ABC_2_BCD

成为:

MART.ABC_DIM, MART.XYZ_DIM, 
DBO.ABC_DTL, DBO.ABC_2_BCD

最后编辑:

以上失败的原因是:

DBO.ABC_DIM, DBO.XYZ_DIM, 
DBO.ABC_DTL, DBO.ABC_2_BCD, DBO.ABC_DIM, DBO.XYZ_DIM, 
DBO.ABC_DTL, DBO.ABC_2_BCD, 
DBO.ABC_DIM, DBO.XYZ_DIM, 

因为在第二行匹配 DBO.ABC_DTL,DBO.ABC_2_BCD,DBO.ABC_DIM 并且 DBO.ABC_DTL 变为 MART.ABC_DTL

所以正确的解决方案是:

查找字段:

(DBO\.)(.[^\.]+?)_DIM

替换字段:

MART\.$2_DIM

在此处查看匹配结果:http://refiddle.com/refiddles/596b348175622d74ff020000

答案 1 :(得分:0)

如果您在VIM中打开该架构,请按esc然后按

:s%/DBO/MART

然后按Enter键

:s(冒号和s)代替    /DBO找到DBO    /MART将其替换为MART

一旦您确认所有DBO都替换为MART,您需要按esc:wq

保存更改