【发布时间】:2023-04-02 18:01:01
【问题描述】:
我正在尝试使用 Visual Basic .NET 中的正则表达式在 HTML 中查找表单,但是有不同的表单,我想要具有某些属性的表单。
我想找到这个:
<form method="post"
虽然还有其他看起来像这样:
<form method="get"
我已经有了这方面的代码,但是我的代码无法识别第一个表单的结束位置和下一个表单的开始位置,所以我得到了第一个表单开始位置的整个 HTML 脚本
<form>
最后一个表格结束
</form>
为了更好地理解我的意思,请查看:http://rubular.com/r/HDU0yVFtIk
【问题讨论】:
-
只需通过添加
?来使用不贪婪模式:<form.*?>[^*]*?<\/form>。请注意,这不会检测 nested 标记。您可以使用适当的 html 解析器,我在 SO“HTML Agility pack”或类似的地方读到。 -
greedy vs non-greedy 很好的解释。