使用“书签行”选项的 Notepad++ 搜索不会为与多行正则表达式匹配的所有行添加书签,而只会为第一个行添加书签

2024-01-02

我想过滤属于特定用户的日志中的所有内容。 使用以下模式并启用“. matches newline”选项,我可以匹配我正在寻找的所有内容,但是当我要求 Notepad++ 为这些行添加书签以便我可以复制它们时,会发生一些奇怪的事情。

([^\n]+)userB(.+?)(?=([0-9]{4}-[0-9]{2}-[0-9]{2}))

在第 2 行和第 8 行前面,我看到一个书签图标,但第 3、4、5 和 9、10、11 行缺少图标,尽管它们属于突出显示的文本。

为什么 Notepad++ 突出显示文本,但无法正确放置书签?更重要的是,我该如何解决这个问题?

这是我正在使用的日志:

2015-03-02 11:28:44,993 INFO  application [http-0.0.0.0-8080-17]            userA     99:7 12345 some message
2015-03-02 11:28:45,468 WARN  application [http-0.0.0.0-8080-9]             userB     12:2  some message
extra information
    at some.classes.and.function(Filename.java:123)
    at some.classes.and.function(Filename.java:123)
2015-03-02 11:28:44,993 INFO  application [http-0.0.0.0-8080-17]            userA     99:7 12345 some message
2015-03-02 11:28:44,993 INFO  application [http-0.0.0.0-8080-17]            userA     99:7 12345 some message
2015-03-02 11:28:45,468 WARN  application [http-0.0.0.0-8080-9]             userB     12:2  some message
extra information
    at some.classes.and.function(Filename.java:123)
    at some.classes.and.function(Filename.java:123)
2015-03-02 11:28:44,993 INFO  application [http-0.0.0.0-8080-17]            userA     99:7 12345 some message

以下内容将在不使用书签的情况下提取您想要的信息,并且应该适用于 Notepad++ 版本 6.9.1 及以上版本。
它假设额外信息行不以数字开头。
它会从数据文件中删除复制的行,因此如果您想保留数据文件,请处理数据文件的副本。
它的效率不是很高,因为切换选项卡命令将光标重新定位到选项卡文本的开头。
它复制了 userB 的最后一个匹配项。 (轻微刺激!)

描述

1) Define shortcuts for switching to next & previous tabs
2) Open the data file with Notepad++
3) Open a new tab then go back to the data file tab
4) Define a macro `Cut User data. Paste in next tab`  
5) Run the macro `Cut User data. Paste in next tab` on the data file to `end of file`
  (It needs to be run once prior to running it in `Run a Macro Multiple Times`
  because of a quirk of Notepad++)

Method

1) Settings Shortcut Mapper Main menu
Switch to previous document = Ctrl+Alt+Left
Switch to next document = Ctrl+Alt+Right
Close

2)用Notepad++打开数据文件

3) File New Ctrl+Alt+Left

4) Start Recording
Find找什么:.+ userB.+\r\n(\D.+\r\n)*
搜索模式 = 正则表达式
Find Next Alt+F4
Ctrl+X Ctrl+Alt+Right
Ctrl+End Ctrl+V Ctrl+Alt+Left
Stop recording
Save Current Recorded Macro
Name: Cut User data. Paste in next tab OK

5) Macro Cut User data. Paste in next tab
Run a Macro Multiple Times
要运行的宏:Cut User data. Paste in next tab
运行直到文件末尾 = 是
Run然后当它停止时Cancel

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用“书签行”选项的 Notepad++ 搜索不会为与多行正则表达式匹配的所有行添加书签,而只会为第一个行添加书签 的相关文章

  • 用于匹配重复子字符串的单个js正则表达式?

    假设我有一个字符串 例如 where is mummy where is daddy 我想用空字符串替换任何一组重复子字符串 所以在这种情况下where and is元素将被删除 结果字符串将是 mummy daddy 我想知道是否有任何单
  • 在Python中比较字符串的最快方法

    我正在用 Python 编写一个脚本 该脚本将允许用户输入一个字符串 该字符串将是指示脚本执行特定操作的命令 为了便于讨论 我会说我的命令列表是 lock read write request log 现在 我希望用户能够输入 log 一词
  • 为什么 findall 在与组匹配时不返回整个匹配项? [复制]

    这个问题在这里已经有答案了 正如我读过的 dog cat food会寻找dog food and cat food但我无法用我的案例重现它 gt gt gt for m in re findall RA a zA Z0 9 RAJA4590
  • 西班牙语单词的正则表达式是什么?

    正则表达式语言使用 B 来包含 A Z a z 0 9 和 并且 b 被定义为单词边界 如何编写匹配所有有效西班牙语单词 包括诸如 等字符 的正则表达式 我正在使用 NET 使用西班牙语区域设置并使您的正则表达式区域设置敏感
  • 正则表达式查找两个字符之间的内部匹配

    环境 Java 我想匹配两个字符串之间的字符 这是一个例子 foo
  • Pandas - 过滤器和正则表达式搜索 DataFrame 的索引

    我有一个 DataFrame 其中列是 MultiIndex 索引是名称列表 即index Andrew Bob Calvin 我想创建一个函数来返回数据帧中使用名称 Bob 或以字母 A 开头或以小写字母开头的所有行 如何才能做到这一点
  • Base 64 编码的有效字符范围

    我对以下内容感兴趣 是否有一个字符列表never作为 Base 64 编码字符串的一部分出现 例如 我不确定这种情况是否会发生 如果原始输入实际上有 作为它的一部分 编码会有所不同吗 这是我可以发现的 RFC 4648 http www r
  • Apache 配置:正则表达式禁止访问以点开头的文件/目录

    我想禁用对其名称以点开头的任何文件或目录的访问 我想出了以下方法 但只有当它们直接位于文档根目录中时 它才会禁用对以 DOT 开头的文件 目录的访问
  • SQL 选择与带有通配符的 URL 匹配的行

    我在数据库中有一个表 其中一列包含一个 URL 例如http example com users http example com users 轮廓 我得到了一个 URL 例如http example com users 234 profi
  • 在 Java/GWT 中解析用户时间输入

    解析用户在 GWT 中的文本字段中键入的时间的最佳方法是什么 默认时间格式要求用户完全按照区域设置指定的时间格式输入时间 我想要更加灵活 因为用户可以通过多种不同的方式输入时间 例如 8 8p 8pm 8 15pm 13 15 1315 1
  • 找出段落中出现的单词

    sentence Alice was not a bit hurt and she jumped up on to her feet in a moment words Alice jumped played 我可以使用filterpyth
  • Logstash if 语句与正则表达式示例

    谁能告诉我什么是if带有正则表达式的语句看起来像在logstash中 我的尝试 if fieldname 0 9 if fieldname 0 9 两者都不起作用 我打算做的是检查 fieldname 是否包含整数 将其他答案合并成一个有凝
  • 在 p 标签中换行/换行

    我有多个文本文件 需要使用正则表达式将每个段落包装在 p 标记中 即之前 Paragraph 1 Paragraph 2 Paragraph 3 After p Paragraph 1 p p Paragraph 2 p p Paragra
  • 负向查找正则表达式 - 仅出现一次 - Java

    我正在尝试查找字符串是否包含only one一个词的出现 e g String jjdhfoobarfoo Regex foo gt false String wewwfobarfoo Regex foo gt true String jj
  • 查找和替换正则表达式问题

    感谢这里对我其他问题的所有大力帮助 我开始掌握正则表达式 但我仍然对这个一无所知 我的代码是 StreamReader reader new StreamReader fDialog FileName ToString string con
  • Python替换多个字符串同时支持反向引用

    有一些好方法 https stackoverflow com questions 6116978 python replace multiple strings处理 python 中的同时多字符串替换 但是 我在创建一个高效的函数来实现这一
  • 替换第二个和第三个下划线之间的任何内容

    我有一个 PowerShell 脚本行 它用 替换 删除 第二个和第三个下划线之间的字符 get childitem pdf rename item newname name replace p L p L 例子 12345 00001 L
  • 正则表达式中的零宽度元素是什么?

    最近 我在正则表达式中看到 零宽度元素 这些是什么 能不能把它们当作幽灵数据 这样对于替换 就不会被替换 对于 匹配 他们不会进入matches 1 matches 2 etc 是否有针对其各种用途的良好教程 他们已经在这里呆了很长时间了吗
  • 正则表达式中连字符的这种用法有效吗?

    NB I only想知道它是否是正则表达式定义中未转义连字符的有效应用 它是not关于匹配电子邮件 连字符或反斜杠的含义 量词或其他任何内容的问题 另外 请注意 链接的答案并没有真正讨论转义 未转义连字符之间的有效性问题 通常我会像这样声明
  • 什么正则表达式永远无法匹配?

    Merged https meta stackexchange com questions 158066 what is a merged question with 永远不会与任何内容匹配的正则表达式 questions 1723182

随机推荐