regex捕获所有内容,而不是仅捕获第一个定义的字符串



我正在转换一些教程的内容并提取html标记。我制作了这个regex:/<html>(?!html)([sS]*)</html>/,试图让它只捕获第一个HTML组的内容,但它捕获了所有内容,直到最后一个HTML,尽管我(可能位置不好)进行了负面展望。

我错过了什么?(实例)

This is text
<html>
  <div>
    some content
  </div>
</html>
This is more text
<html>
  <div>
    some content
  </div>
</html>
<html>(?:(?!</html>).)*</html>

试试这个。请参阅演示。

http://regex101.com/r/lQ3zY6/2

使正则表达式变惰性:

<html>([sS]*?)</html>

这应该会占用所有内容,直到第一个html标记。

相关内容

最新更新