gpt4 book ai didi

regex - 如何组合正则表达式中的行?

转载 作者:行者123 更新时间:2023-12-02 01:28:24 30 4
gpt4 key购买 nike

所以我是正则表达式的新手,我只使用一个简单的文本编辑器来学习它们。我有以下文件

          84544484N
32343545M
32334546E
34456434M

我试图将每一对线组合成一个制表符分隔的线
结果应该是:
        84544484N  32343545M
32334546E 34456434M

我写了以下内容:
            Search: (.*?)\n(.*?)
Replace: \1\t\2

这不起作用有人可以解释原因并给我正确的解决方案。谢谢!!

最佳答案

(.*?)\n(.*?)模式永远不会很好用,因为 (.*?)在模式的末尾将始终返回一个空字符串(因为 *? 是一个惰性匹配量词,如果它可以返回零个字符(它可以)它会。使用贪婪匹配并调整模式,如:

(.+)\r?\n *(.*)

或者 - 因为 SublimeText 使用 Boost regex - 你可以用 \R 匹配任何换行序列:
(.+)\R *(.*)

并替换为 \1\t\2 .注意我替换了 *?+在第一个捕获组中,因为您需要匹配非空行。

正则表达式分割:
  • (.+) - 除换行符外的一个或多个字符(尽可能多),最多为
  • \R - 换行序列( \r\n , \r 或只是 \n )
  • * - 文字空间,零次或多次出现
  • (.*) - 第 2 组:除换行符以外的零个或多个字符(尽可能多)

  • enter image description here
    /
    enter image description here

    关于regex - 如何组合正则表达式中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35565990/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com