我无法匹配两个特定单词之间的序列

Ita*_*ner 2 regex

我想找到一个介于两个特定单词之间的字符串。在图片中看到我制作的图案。问题是“INICIO”出现了两次,我只是想让它匹配最后一次出现,直到出现“FIM”这个词。在这种情况下,我希望第一个模式是 INICIOBBBBBBBBBBBFIM。我需要匹配字符串中的所有出现。

链接到正则表达式

我的正则表达式

bob*_*ble 5

您正在寻找的内容听起来像是 Rexegg 所说的“温和的贪婪令牌”

INICIO(?:(?!INICIO).)*?FIM
Run Code Online (Sandbox Code Playgroud)

在 regex101 上查看更新的演示

负前瞻“缓和”点不跳过另一个开始。这种做法是相当昂贵的,因为在每个位置之前,如果在INICIO继续之前没有前进,前瞻会向前看。

如果有兴趣,SO 上有一个很好的答案,可以更详细地解释它。