【问题标题】:Multiple Line Search in Notepad++Notepad++ 中的多行搜索
【发布时间】:2015-03-16 13:44:46
【问题描述】:

我正在寻找一种方法来识别 Notepad++ 中记录组中缺失的记录。每个记录组都以波浪号开始和结束。但是,某些组缺少详细记录(H1 记录)。在下面的示例中,我需要找到粗体/斜体条目。

~H1~,10222,30333,JONES
中西部紧急情况,123456
~
~H1~,30334,3234543,史密斯
中西部紧急情况,933233
~
中西部紧急情况,92345434
~
~H1~,3232353434,232343534,霍斯特
中西部紧急情况,223342545
~
东部紧急情况,2334333
~
~H1~,3055543,33232322,VICE
南方紧急情况,233446655
~

【问题讨论】:

    标签: regex search notepad++


    【解决方案1】:

    应该这样做:

    /~\n[A-Z]+[ ]+EMERGENCY[, ][0-9]+\n~/g
    

    首先匹配“~”,然后是换行符,然后是大写字符串、空格、EMERGENCY、逗号、数字、换行符 tilda

    在这里进行实验:https://regex101.com/

    下次发布你的尝试

    【讨论】:

    • 感谢您的快速回复。需要注意的是,“紧急情况”不会每次都出现。客户每次都可能不同。它需要在第二行进行通配符搜索。在分组的第二行中包含逗号是我的错误。该行实际上会反映以下内容:MIDWEST EMERGENCY 92345434
    • 反映了什么?如果每次都没有出现紧急情况,只需将该部分替换为 [A-Z]+
    【解决方案2】:

    如果您处于查找(或查找和替换)的“扩展”模式,您应该能够使用 \n(适用于 Unix 格式文件)或 \r\n(适用于 DOS/Windows 格式文件)的组合) 匹配一个换行符。然后应该可以将搜索模式的其余部分放在该标记之前或之后以跨多行搜索。

    【讨论】:

      【解决方案3】:

      这似乎有效

      ~\n([^~]*)\n~
      

      匹配 tilda、换行符,然后匹配下一个换行符和 tilda 之前没有 tilda 的任何内容。

      如果你想使用,[^~]* 周围的括号将它绑定到 /1

      【讨论】:

        【解决方案4】:

        [~]\r\n[^~]

        这成功了。感谢以上所有建议。

        【讨论】:

          猜你喜欢
          • 2018-02-12
          • 2013-10-18
          • 2012-07-08
          • 1970-01-01
          • 1970-01-01
          • 2021-12-16
          • 1970-01-01
          • 1970-01-01
          • 2017-08-05
          相关资源
          最近更新 更多