【问题标题】:Notepad++ replace .|every 5th line with .}Notepad++ 将 .|每 5 行替换为 .}
【发布时间】:2014-12-26 11:13:02
【问题描述】:

我收到了一个以.| 结尾的文本

我需要将每 5 行的 .| 替换为 .}

我用这个代码搜索(((.|)*\s*\s*){5})并替换$1.}

但这会在第 5 行的开头添加一个新行 .},但不会替换第 5 行末尾的 .|

而且我不知道如何根据需要修改代码!

也许对这段代码有一些修改想法?

【问题讨论】:

    标签: regex replace notepad++


    【解决方案1】:

    1.将光标放在全文首字母的前面

    2.点击“开始录制”

    3.按向下箭头 4 次

    4.按一次结束

    5.按一次退格键

    6.按一次}

    7.按一次右箭头

    8.点击“停止录制”

    10.点击“多次运行宏...”

    11.选择“运行到文件结束”

    12.点击“运行”

    【讨论】:

      【解决方案2】:

      您可以这样做,但要查找匹配的行,然后查找与您要替换的点匹配的另一行。

      检查正则表达式和环绕且未检查“.matches newline”时,searchign forward form start of file。

      搜索:

      ((^.*\.\|\r\n){4}(^.*))\.\|\r\n
      

      行首的 4 次匹配所有字符,包括 .|在 EoL 和 alos 匹配下一行中的所有字符,直到 .|在 EoL。

      替换:

      \1.}\r\n

      将第一个捕获组中的所有内容替换为自身,然后是新的行尾序列。

      【讨论】:

        【解决方案3】:

        怎么样:

        发现什么:((?:.+\R){4}.+)\|(\R)
        替换为:$1}$2

        然后点击全部替换

        确保Dot matches newline 未被选中。

        【讨论】:

        • 行得通!伟大的!我花了几个小时没有任何解决方案。非常感谢:-)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-21
        • 2023-01-31
        • 2015-12-18
        • 1970-01-01
        • 2021-11-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多