日期:2014-05-17  浏览次数:20432 次

问一个正则匹配的
有一段HTML如何,我想用正则匹配获取到<table>里的内容。怎么写?
.......
<div class="abc" style="margin:10px;">
<table class="abc" width="100%" cellspacing="0" cellpadding="2" style="">
  <tr align="center">
    <td class="f">
        <a class="c" href="#">link</a>
    </td>
  </tr>
</table>
</div>
......

------解决方案--------------------
(?is)<(table)\b.*?>.*?</\1>
------解决方案--------------------
引用:
版主能不能稍为解释下,以便我变通下,适应下其他情况,谢谢。

(?is)(?<=<table[^>]*?class="abc"[^>]*?>).*?(?=</table>)
(?=exp) 匹配exp前面的位置
(?<=exp)匹配exp后面的位置
这里相当于匹配<table></table>之间的数据,不包含<table></table>
但是<table>标签带了一个样式class="abc" ,[^>]*?代表匹配不是>的任何数据