gpt4 book ai didi

python - 如何重复捕获组一次或多次并提取匹配项

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:02 25 4
gpt4 key购买 nike

是否可以使用一个正则表达式来验证此字符串并提取所有名称:

输入:

daz.Da zD.{Azd} .{AZDza}; D
name:{franck}{steve}{louis}
zefzef{z'f'z} fze fzef zef

输出:

[0] "franck"
[1] "steve"
[2] "louis"

这是我得到的:name:(?:{(.*?)}) 但我不知道如何重复(一个或多个)这个表达式 (? :{(.*?)}) 提取 name: 之后的所有名称。

我不想使用 regex支持重复捕获组的python包。

最佳答案

您可以使用带有 Python regex package\G anchor 来链接匹配项.

It matches at the position where each search started/continued

(?:name:|\G(?!^)){([^}]+)}
  • (?:name:|\G(?!^)) 第一部分:匹配 name: 字面意思 |\G 或从上一场比赛结束的地方继续,(?!^) but not在开始时。

  • {([^}]+)} 第二部分:捕获 non inside {...} 将 $1 粘到成功的上一场比赛中。

regex.findall一起使用

See demo at regex101

关于python - 如何重复捕获组一次或多次并提取匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33843206/

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