gpt4 book ai didi

python - ReGex:从重复序列中获取多个匹配

转载 作者:太空宇宙 更新时间:2023-11-03 17:42:59 27 4
gpt4 key购买 nike

我正在尝试使用正则表达式在 python 中分割多行字符串。我的正则表达式经验有限。

字符串的结构如下:

asdf
foo 1
bar
barfoo
bar
foo 2
baz
baz
...
foo 20
bat
bat

我正在寻找一个可以找到多个匹配项的表达式,因为目前我只能找到所有内容或什么也找不到。所以输出应该是这样的:

["foo 1\nbarbarfoobar","foo 2 \nbaz\nbaz\n...",...]

据我了解,我应该寻找 foo\d+ 后跟一些随机的东西... ((\n|.*)?)*

foo \d+((\n|.*)?)*

我研究过否定前瞻,但插入一个对我没有帮助。

foo \d+((\n|.*)?)*(?!foo)

我想这可以通过仅使用内置的 String 方法来解决,但稍后我将不得不做很多这样的事情,所以我正在寻找一个“简单”的方法解决方案。

最佳答案

([\s\S]+?(?=(?:\nfoo \d+|$)))

您可以使用 re.findall 尝试此操作。请参阅演示。

https://regex101.com/r/mT0iE7/5

关于python - ReGex:从重复序列中获取多个匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30211966/

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