日期:2014-05-20  浏览次数:20843 次

如何使用正则匹配table、tr、td块?最小匹配
如何使用正则匹配table、tr、td块?最小匹配

示范字符串如下:
……
<table   ……>
<tr>
<td   colspan= "2 "   width= "100% "> [msii.v] </td>
</tr>
<tr>
<td> [msii.v.sub.normal] </td>
<td> [msii.v.sub.active] </td>
</tr>
</table>
……

要求是,实现当某个td中包含[msii.v.sub.normal]或[msii.v.sub.active]时,则将包含此数据的table提取出来。

------解决方案--------------------
((?s) <(table)> .*((?s) <(td)> .*\\[msii.v.sub.normal\\].*? <\\/\\4> |(?s) <(td)> .*\\[msii.v.sub.active\\].*? <\\/\\5> ).*? <\\/\\2> )