0

我在 PHP 上使用正则表达式。我的文本类似于下一个(我已经简化了很多):

<table id="different_every_time" …&gt;<a href="url" …&gt;Link</a>
… Intro text<table> … This is place for menu</table>
<table>Content</table></table>

我需要抓取第一个标签和第二个标签之间的文本所以结果应该是:

id="different_every_time" …&gt;<a href="url" …&gt;Link</a>… Intro text

我尝试了下一个模式:

(?<=<table)(.+)(?=<table)

但它会返回第一个<table>和最后一个之间的所有内容<table>。我需要将 (.+) 替换为(除 之外的所有内容)。可能有更简单的解决方案。任何帮助表示赞赏。

4

1 回答 1

1

更改(.+)(.+?)使其不贪心。它将尝试尽可能少地匹配,而不是尽可能多地匹配,即:greedy

于 2013-04-08T16:47:33.430 回答