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

如何从混杂文本中提取所有<>包裹的内容并转换为列表?

提取<>包裹内容的稳定实现方案

使用正则表达式的re.findall方法是这类场景的最优解,完全可以规避手动分割的各种兼容问题。

具体实现代码

import re

# 测试用输入字符串
test_str = """Some text
<item1><item2><item3> some more text
some text <item4> some text
"""

# 正则匹配规则:捕获所有< >之间不为>的字符内容
pattern = r'<([^>]+)>'
result = re.findall(pattern, test_str)

print(result)
# 输出:['item1', 'item2', 'item3', 'item4']

规则说明

  • 正则模式r'<([^>]+)>'中,[^>]+代表匹配1个及以上非>的字符,外层括号为捕获组,re.findall会直接返回所有捕获组的匹配结果,自动过滤掉外层的<>符号
  • 该方案会自动忽略所有不在<>包裹范围内的无关文本,也不受<>之间的空格、换行等字符影响,兼容性远高于手动分割
  • 如果需要兼容内容为空的<>,可将模式中的+替换为*,如果要进一步过滤空结果再加一层列表推导式即可:[i for i in re.findall(pattern, test_str) if i]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:39:01