正则表达式在第 n 次出现时匹配标签之间的所有字符

Regex Match All Characters Between Tags on nth occurrence

我需要匹配两个标签之间的文本,但从标签的特定位置开始。

想象一下这段文字:

Some long <br> text goes <br> here. And some <br> more can <br> go here.<br>

在我的例子中,我想在这里匹配。还有一些。 我成功匹配了第一次出现之间的文本(在第一个和第二个 br 标签之间):

<br>(.*?)<br>

但我正在寻找下一个匹配项中的文本(将在第二个和第三个 br 标记之间)。这可能比我意识到的更明显,但 Regex 不是我的强项。

只需扩展您的正则表达式:

<br>(.*?)<br>(.*?)<br>

或者,对于无限数量的匹配,并修剪空格:

<br>\s*(.*?)(?=\s*<br>)

编辑: 既然我看到您正在解析 HTML 文档,请注意正则表达式可能不是该工作的最佳工具,尤其是如果你的解析要求很复杂。