【发布时间】:2015-01-25 05:26:31
【问题描述】:
我正在尝试创建返回表数或表数组的正则表达式。到目前为止我有
@"<table>^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$</table>"
html可以是
<table>
<p id='p1'></p>
</table>
<table>
<p>abc</p>
</table>
例如,如果我运行以下代码
string str = "<table><p id='p1'></p></table><table><p>abc</p></table>";
Regex r = new Regex(@"/<table>^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$</table>/");
MatchCollection s = r.Matches(str);
Response.Write(s.Count);
那么它应该写“2”,因为有两个表。
上述正则表达式未按预期工作。解析html的正则表达式似乎还可以,但是我很难将html的正则表达式和封装html的正则表达式(封装html元素的表)结合起来
【问题讨论】:
-
查找“非贪婪正则表达式”...并获得更好的(非 HTML)示例以避免投票...
-
@AlexeiLevenkov 你能再具体一点吗?什么是非贪婪正则表达式?