gpt4 book ai didi

Python正则表达式分割包含模式的多行

转载 作者:行者123 更新时间:2023-11-30 23:39:04 25 4
gpt4 key购买 nike

我在 python 中接收到与此格式类似的数据

garbage
=== Season 1 ===
season 1 data
more season 1 data
=== Season 2 ===
season 2 data

带有换行符,但“=== Season x ===”之间的数据未定义(如果您知道的话,它来自维基百科的 API)。

无论如何,我正在尝试使用正则表达式将其分解,但似乎无法正确处理。我尝试一下

p = re.compile('(===\sSeason.*)'
print p.split(data)

并得到

['garbarge\n', '=== Season 1 ===', '\nseason 1 data\nmore season 1 data\n\n', '=== Season 2 ===', '\nseason 2 data\n']

但我正在寻找的是:

['garbarge\n', '=== Season 1 ===\nseason 1 data\nmore season 1 data\n\n', '=== Season 2 ===\nseason 2 data\n']

每个模式包括直到下一个模式的文本、换行符等。我尝试过 re.MULTILINE、re.DOTALL 的组合,但我似乎无法做到正确。有什么帮助吗?

最佳答案

执行此操作的一种简单方法是逐行浏览内容:

season = ''
for line in data.splitlines():
if line.startswith('=== Season'):
season = line
elif season:
do something

关于Python正则表达式分割包含模式的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13871893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com