gpt4 book ai didi

Python - 使用正则表达式匹配 { } 之间的子字符串出现

转载 作者:行者123 更新时间:2023-11-30 23:15:17 24 4
gpt4 key购买 nike

我正在尝试使用正则表达式在两个选择器“{”和“}”之间搜索一个或多个出现的变量子字符串。如果找到多个,则输出应该是一个列表。

这是字符串的示例:

mystring = "foofoofoo{something}{anything}foofoofoo"

这是我使用的正则表达式:

re.findall(r"^.*(\{.*\}).*$", mystring)

但它给了我以下输出:{anything}

我尝试过使用 r"(\{.*\})" ,它返回给我 {something}{anything} ,这几乎很好,只是它不是一个列表。

有什么想法吗?

最佳答案

从正则表达式中删除 anchor 和 .* 以允许其仅捕获从 {} 的内容:

>>> mystring = "foofoofoo{something}{anything}foofoofoo";
>>> re.findall(r"(\{[^}]*\})", mystring);
['{something}', '{anything}']

要从匹配中跳过 {},请使用捕获的组:

>>> re.findall(r"\{([^}]*)\}", mystring);
['something', 'anything']

关于Python - 使用正则表达式匹配 { } 之间的子字符串出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28306061/

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