我希望非贪心地解析TD标签。我从以下内容开始:
<TD>stuff<TD align="right">More stuff<TD align="right>Other stuff<TD>things<TD>more things
我正在使用以下内容作为我的正则表达式:
Regex.Split(tempS, @"\<TD[.\s]*?\>");
以下是记录返回结果:
""
"stuff<TD align="right">More stuff<TD align="right>Other stuff"
"things"
"more things"
为什么第一个完整结果(以“stuff”开头的结果)没有被拆分?我应该如何调整正则表达式,以便在带有参数或不带参数的TD标签的所有实例上进行拆分?
.
在字符类[.]
中只表示一个字面上的句点,而不是'任何字符。使用[^>]*
可能会更成功,但它会在属性中的>
上出错(这也是为什么我们通常会使用解析器而不是正则表达式来处理HTML和XML的原因之一)。 - Wrikken/s
)如何使点匹配所有内容。然而,[^>]*>
在功能上等同于(.|\s)*?>
,并且可能更容易使用正则表达式。 - Wrikken