nodepad之正则表达式删除无关键字符串的行
经常遇到需要对日志文件查找关键日志(比如按线程名称)进行问题分析,但日志又太多,比较干扰看关注的日志,所以就想把无关键字的行删除掉,那么该怎么做呢
我们可以用notepad++打开日志,然后使用正则表达式查找替换的功能,将不带关键字的行删除掉,然后删除空行即可:
以如下日志为例:
(1)替换无关键字的所在行,如上图所示,匹配的关键字是http-nio-8091
正则表达式为:^(?!.*http-nio-8091).*$
简单解释一下上面的正则表达式:
^表示开头
()是一个子表达式
?!是取反的意思
.*匹配任意字符
$表示结尾
http-nio-8091为日志中打印的线程名称,可以自行替换为任何你想匹配的字符串
所以^(?!.*http-nio-8091)就表示不以包含了http-nio-8091的字符串作为开头
我们执行全部替换后,就有了很多空行
(2)删除空行
匹配空行的正则表达式是:^\s*\n
再次全部替换后: