regex 如何在Notepad++中替换图案

lx0bsm1f  于 2023-05-08  发布在  其他
关注(0)|答案(2)|浏览(265)

我有一个sql程序代码。我们正在迁移不同模式上的代码。我需要替换所有的维度表模式。
示例:旧模式:DBO.ABC_DIM、DBO.XYZ_DIM
更换后:MART.ABC_DIM、MART.XYZ_DIM
有谁能让我知道如何使用regex replace来做这件事。
感谢Sky

svmlkihl

svmlkihl1#

您必须用途:在“查找内容”字段中:

(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_DIMDBO.ABC_DTL变成MART.ABC_DTL

所以正确的解决方案是:

查找字段:

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

替换字段:

MART\.$2_DIM
j7dteeu8

j7dteeu82#

如果在VIM中打开该模式,请按esc,然后

:s%/DBO/MART

然后按回车键
:s(冒号和s)替换/DBO查找DBO /MART将其替换为MART
一旦您验证所有DBO都已替换为MART,您需要保存esc:wq的更改

相关问题