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

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

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

    想把标记字符 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  
       64 天前
    python

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