我想提取一个表里面th 和 td 标签里面文本数据,格式如:<tr><th align=right valign=top>.......</th><td>.......<br></td></tr>
<tr><th align=right valign=top>.......</th><td>.......<br></td></tr>正则表达式应该怎么写?
 
哪位高手指点下~~

解决方案 »

  1.   

    提取文本数据??
    能不能用设置form表单的action,然后在JSP里面提取,比如String action = request.getParameter("action");
    这样就把文本数据给提出来了,不知道能不能满足楼主的需求。
      

  2.   

    取th标签里面的文本
    用正则表达式 "(<th.*>)(.*)(</th>)"匹配出“<th align=right valign=top>....... </th>”然后取出第二个子式 匹配的结果,也就是(.*)匹配的结果,就是文本了js和java中的函数也不一样,根据这个思路自己去查api吧js返回子式匹配结果是用exec()函数,java的记不清了
      

  3.   

    我是从另外一个页面抓取数据的,此页面中有个table,我想得到
    <tr> <th align=right valign=top>...1.... </th> <td>...2.... <br> </td> </tr> 
    <tr> <th align=right valign=top>...3.... </th> <td>...4.... <br> </td> </tr> 对应的th 和 td标签里面的文本内容,而且顺序不表,如上,文本数据的顺序为 1 2 3 4??
      

  4.   

    <tr><th[^>]*>(*?)<th><td[^>]*>(*?)<br></td></tr>
    试试
      

  5.   

    原始数据:
    <tr><th align=right valign=top>Program Memory Size</th><td>8K x 8<br></td></tr>
    <tr><th align=right valign=top>RAM Size</th><td>128 x 8<br></td></tr>我写的正则表达式:(?<=<th.{0,25}?>).*?(?=</th><td>).*?(?=<br></td></tr>)得到的结果是:
       Program Memory Size</th><td>8K x 8
       RAM Size</th><td>128 x 8
       
    现在我想把:Program Memory Size
                8K x 8
    RAM Size
    128 x 8

    这四个数据按顺序放到list中去,应该怎么样修改正则才能得到相应的结果?请高手指点~~
      

  6.   

    搞定了 谢谢各位((?<=<th.{0,25}?>).*?(?=</th>))|((?<=</th><td>).*?(?=<br></td></tr>))