【问题标题】:Syntax Highlighting in Notepad++: how to highlight timestamps in log filesNotepad++ 中的语法高亮:如何高亮日志文件中的时间戳
【发布时间】:2014-05-01 13:45:22
【问题描述】:

我正在使用 Notepad++ 来检查日志。我想为时间戳和日志级别定义自定义语法突出显示。突出显示日志级别工作正常(定义为关键字)。但是,我仍在努力突出显示表单的时间戳

06 Mar 2014 08:40:30,193

知道怎么做吗?

【问题讨论】:

    标签: syntax notepad++ syntax-highlighting highlighting


    【解决方案1】:

    如果你只是想要简单的高亮,你可以使用 Notepad++ 的正则表达式搜索模式。打开“查找”对话框,切换到“标记”选项卡,并确保将正则表达式设置为搜索模式。假设时间戳在行首,这个正则表达式应该适合你:

    ^\d{2}\s[A-Za-z]+\s\d{4}\s\d{2}:\d{2}:\d{2},[\d]+
    

    逐位分解:
    ^ 表示以下正则表达式应锚定到行首。如果您的时间戳出现在除行首之外的任何位置,请将其删除。
    \d 表示匹配任何数字 (0-9)。 {n} 是一个限定符,表示精确匹配正则表达式的前一位 n 次,因此\d{2} 表示精确匹配两位数字。
    \s 表示匹配任何空白字符。
    [A-Za-z] 表示匹配集合 AZ 或集合 az 中的任意字符,+ 是限定符,表示匹配 Regex 的前一个位 1 次或多次。所以我们正在寻找一个包含一个或多个字母字符的字母字符序列。
    \s 表示匹配任何空白字符。
    \d{4} 就像之前的\d{2},只是现在我们完全匹配4 位数字。
    \s 表示匹配任何空白字符。
    \d{2} 表示精确匹配两位数字。
    : 匹配冒号。
    \d{2} 精确匹配两位数字。
    : 匹配另一个冒号。
    \d{2} 匹配另外两个数字。
    , 匹配一个逗号。
    [\d]+ 与我们之前设置的字母搜索序列类似,只有这个为数字。这会找到一位或多位数字。

    当您在文档上运行此正则表达式时,标记功能将突出显示与它匹配的任何内容。与“在文档中查找全部”搜索类型可以为您提供的临时突出显示不同,标记突出显示即使在您单击文档中的其他位置后也会持续。

    【讨论】:

    • 嗨,我正在研究如何将其打包到 Notepad++ 中的自定义语言定义中。您是否知道如何将上面的正则表达式合并到自定义语言定义中。无论如何,我不知道搜索掩码中的标记功能 -> +1。
    • @ivicaa 我实际上并不认为您可以在用户定义的语言中使用正则表达式。我查看了文档并进行了一些研究,看起来几乎所有内容都在 UDL 中按面值解释。如果标记突出显示对您来说不够用,您可能需要编写自定义插件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 2018-01-10
    • 2015-10-16
    • 1970-01-01
    • 2020-03-29
    相关资源
    最近更新 更多