【问题标题】:Regex to match only the first occurrence on the string in notepad++正则表达式仅匹配记事本++中字符串的第一次出现
【发布时间】:2021-12-07 07:19:28
【问题描述】:

在分析日志时,您通常需要在日志文件中查找包含特定单词的所有行。问题是当您在 notepad++ 中进行常规搜索时,如果它在不同位置包含此单词,它会多次返回同一行。为了缓解这种情况,我切换到正则表达式搜索并使用以下表达式

(.*\K)(text)

.* 匹配整行,\K 丢弃选择,然后 (text) 匹配该行中最后出现的文本。 这种方法看起来很难看,而且速度不是很快。有没有更好的办法?

【问题讨论】:

    标签: regex notepad++


    【解决方案1】:

    要仅匹配第一个匹配项,您必须从行首搜索 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
    

    Regex101 Demo

    Notepad++ 演示

    【讨论】:

    • 非常有趣的解释方式,这个附加的 Gif 是如何创建的?有什么特殊的工具吗?
    • 这是一个很好的答案!
    猜你喜欢
    • 2016-09-28
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 2016-03-18
    相关资源
    最近更新 更多