You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python正则匹配并移除首个<<之前的文本?

Python正则移除第一个<<之前的所有文本方案

需求说明

需要移除目标字符串中第一个<<符号之前的所有内容,且由于前置固定文本可能变化,需采用健壮的匹配方案,使用Python的re.sub方法实现。

可行正则方案

使用正则表达式^.*?(?=<<)匹配从字符串开头到第一个<<的所有内容,再通过re.sub替换为空。各部分含义:

  • ^:锚定字符串开头,确保从起始位置匹配
  • .*?:非贪婪模式匹配任意字符,避免过度匹配到后续的<<
  • (?=<<):正向预查,确保匹配的内容后紧跟<<,且不会将<<包含在匹配内容中

代码示例

import re

string = '''welcome to our first meeting on talks to do with famous people, this time we are holding it on 1st January 2023 (see website details) 
 <<John Smith, Youtube>> 
I'm having a great day today 
<<Jane Doe, Google>> 
I'm going to the gym later 
<<Speaker>>
Time for people to speak 
<<Beff Jezos>> 
Buy something from my online shop. You might like it'''

# 移除第一个<<之前的所有内容
processed_string = re.sub(r'^.*?(?=<<)', '', string)
print(processed_string)

关于之前的正则报错原因

你之前尝试的正则(.*)(?<=(see website for details)存在语法错误:正向后顾断言(?<=...)未闭合,且依赖固定文本的方式不够健壮——一旦前置内容发生变化,正则就会失效。而匹配到第一个<<的方案不依赖固定文本,适用性更强。

内容的提问来源于stack exchange,提问作者DreadPirateRoberts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 14:22:44