V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jsjcjsjc
V2EX  ›  正则表达式

这个可以用正则表达式做到吗?GPT 聊了半天了

  •  
  •   jsjcjsjc · 273 天前 · 1751 次点击
    这是一个创建于 273 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想把标记字符 mark123 之间的回车删除 比如原始样本:

    mark123
    test
    test
    test
    test
    test
    test
    mark123
    test
    mark123
    mark123
    mark123
    test
    test
    mark123
    mark123
    

    删除编辑 mark123 之前的回车,当然 test 是随机字符,但 mark123 是确定的

    mark123testtesttesttesttesttest
    mark123test
    mark123
    mark123
    mark123testtest
    mark123
    mark123
    

    感谢

    7 条回复    2024-02-23 11:46:07 +08:00
    nagisaushio
        1
    nagisaushio  
       273 天前
    python

    re.sub('\s(?!mark123)', '', s)
    NoOneNoBody
        2
    NoOneNoBody  
       273 天前
    你的编辑器支持多行正则就可以了
    jsjcjsjc
        3
    jsjcjsjc  
    OP
       273 天前
    @NoOneNoBody notepad++可以吗?
    NoOneNoBody
        4
    NoOneNoBody  
       273 天前
    @jsjcjsjc #3
    没用过,一般都可以,主要是 windows 格式的文本的话要注意,换行符是两个字符,单纯\n 是不行的,要\n\r
    zhanglintc
        5
    zhanglintc  
       272 天前
    光是 notepad++应该是不行的
    chaosuxiong
        6
    chaosuxiong  
       272 天前   ❤️ 2
    可以分两步做
    1.去掉所有换行
    2.按 mark123 分割换行
    (mark123)(((?!mark123).)*)
    $1$2\n
    zhanglintc
        7
    zhanglintc  
       272 天前
    @chaosuxiong #6 "1.去掉所有换行" => 这个思路好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2469 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:55 · PVG 23:55 · LAX 07:55 · JFK 10:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.