【发布时间】:2021-12-07 07:19:28
【问题描述】:
在分析日志时,您通常需要在日志文件中查找包含特定单词的所有行。问题是当您在 notepad++ 中进行常规搜索时,如果它在不同位置包含此单词,它会多次返回同一行。为了缓解这种情况,我切换到正则表达式搜索并使用以下表达式
(.*\K)(text)
.* 匹配整行,\K 丢弃选择,然后 (text) 匹配该行中最后出现的文本。
这种方法看起来很难看,而且速度不是很快。有没有更好的办法?
【问题讨论】:
在分析日志时,您通常需要在日志文件中查找包含特定单词的所有行。问题是当您在 notepad++ 中进行常规搜索时,如果它在不同位置包含此单词,它会多次返回同一行。为了缓解这种情况,我切换到正则表达式搜索并使用以下表达式
(.*\K)(text)
.* 匹配整行,\K 丢弃选择,然后 (text) 匹配该行中最后出现的文本。
这种方法看起来很难看,而且速度不是很快。有没有更好的办法?
【问题讨论】:
要仅匹配第一个匹配项,您必须从行首搜索 many 字符,放弃该搜索并查找您正在寻找的 text。
下面的正则表达式也是如此。
正则表达式: (^.*?)\Ktrue true 是我的文字。
虚拟输入
Log date 12/12/2015
Sr No desc amount status
1 true $10000 true
2 true $10000 false
3 true $10000 true
4 true $10000 false
5 true $10000 true
Notepad++ 演示
【讨论】: