REGEX,在字符串中查找包含字符串的字符串

REGEX, find string that contain string in string

我有以下文本,我需要一个 preg_match_all 来查找所有以 [ 开头并以 ] 结尾的字符串,这些字符串至少包含一个介于 {} 之间的字符串,我尝试构建但失败了一个正确的正则表达式,有人可以帮忙吗?

Go home [if you have {a-home} or not] [or yes, you do have]

认为这会适合您的情况\[[^[]*?{.+?}.*?\]

根据你的陈述,我假设你必须在 { } 之间有一些匹配,但如果不是这种情况,只需将 + 更改为 *

在这里试试 regex101