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

时间:2015-05-06 18:17:45

标签: regex html-parsing

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

想象一下这个文字:

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

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

<br>(.*?)<br>

但我正在寻找下一场比赛中的文字(在第二和第三个 br 标签之间)。这可能比我意识到的更明显,但正则表达式不是我强大的套件。

1 个答案:

答案 0 :(得分:0)

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

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

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

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

编辑:现在我发现您正在解析HTML文档,请注意正则表达式可能不是该作业的最佳工具,尤其是在您的解析要求很复杂的情况下。