正则表达式只匹配记事本++中字符串的第一个匹配项

Kon*_*sov 3 regex notepad++

分析日志时,您经常需要在日志文件中找到包含某些特定单词的所有行.问题是当你在notepad ++中进行常规搜索时,如果它在不同的位置包含这个单词,它会多次返回同一行.为了减轻我切换到正则表达式搜索并使用以下表达式

(.*\K)(text)
Run Code Online (Sandbox Code Playgroud)

.*匹配整行的位置,\K丢弃选择,然后(文本)匹配行上最后一次出现的文本.这种方法看起来很丑,并不是很快.有没有更好的方法呢?

小智 10

要仅匹配第一个匹配项,您必须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
Run Code Online (Sandbox Code Playgroud)

Regex101演示

Notepad ++演示

Notepad ++演示

  • 非常有趣的解释方法,如何创建这个附加的Gif?任何特殊工具? (2认同)