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

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

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

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

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

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


    http://www.vxiaotou.com