Notepad++正则查询替换操作

Notepad++编辑器查找功能非常强大,本处记录一些实战中常用到复杂查询替换操作。
注意:如果是重要文件,替换操作前最好备份;当前一个操作后也可以用ctrl+z恢复。

查找重复行

用查找(ctrl+f)功能,用正则表达式模式匹配。
查找连续重复行的表达式:

^(.*\r?\n)\1+

规则:“\1"是查找中第一对()中匹配的内容,以此类推可到”\9"。

去除重复行

用替换(ctrl+h)功能如下图处理即可:
在这里插入图片描述
用到的正则表达式如下:

^(.*?)$\s+?^(?=.*^\1$)

删除空行

用替换(ctrl+h)功能,用正则表达式模式匹配。正则表达式如下:

^[ \t]*\r\n

行头/行尾增加内容

用替换(ctrl+h)功能,用正则表达式模式匹配。
行头增加内容图:
在这里插入图片描述

行尾增加内容图:
在这里插入图片描述

行尾增加空行图:
在这里插入图片描述
行尾增加新行图:
在这里插入图片描述

单词前后加引号

用替换(ctrl+h)功能,用正则表达式模式匹配。
在这里插入图片描述
注意:单词指用非(字母或数字或汉字)隔开的单词或句。

替换单词并换行

在这里插入图片描述
把一行第一个单词(如pid,error_log)替换为单词单独一行+原来行,如:
error_log log/err.log
替换为:
error_log
error_log log/err.log

合并成一行

用替换(ctrl+h)功能,用正则表达式模式匹配。
在这里插入图片描述
上面合并后用“、"隔开

关于跨行匹配

在正则表达式中,正常的”."表示匹配除\r、\n外的任意字符(即按行匹配)。在Notepad++,可以跨行匹配,如下图红框设置):
在这里插入图片描述
选中表示跨行匹配;不选中则是按行匹配

调整文字顺序

如需要下述替换:
把DELETE FROM t1 WHERE t2_id in (select id from t2 where mid=@mid);
改为:
delete a from t1 a,t2 b where a.t2_id=b.id and b.mid=@mid;
查找目标:DELETE FROM (\b\w+\b) WHERE orders_sn in.*
替换目标:delete a from \1 a,t2 b where a.t2_id=b.id and b.mid=@mid;
其中:
\b\w+\b -捕获一个或多个单词字符,并且必须位于单词边界,这应该匹配表名
\1 -对应查找目标的第一个()匹配的内容

这篇文章如果对您有所帮助或者启发的话,帮忙关注或点赞,有问题请评论,必有所复。您的支持是我写作的最大动力!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐享技术

每一个打赏,都是对我最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值