字符串“<table><tr><td width=80><u>0</u></td><td>设备层水箱间</td></tr><tr><td width=80><u>7</u></td><td>701</td><td>702</td><td>703 </td><td>705 </td><td >706 </td><td>707 </td><td>708 </td><td>709 </td><td>710 </td><td>711 </td><td>712 </td><td>713 </td><td>715 </td><td>716 </td><td>717 </td><td>718 </td><td>719 </td><td>720 </td></tr><tr><td width=80><u>8</u></td><td>801 </td><td>802 </td><td>803 </td><td>805 </td><td>806 </td><td >807 </td><td >808 </td><td >809 </td><td>810 </td><td >811 </td><td>812 </td><td>813 </td><td>815 </td><td>816 </td><td>817 </td><td>818 </td><td>819 </td><td>820 </td></tr></table>”
请问高手如何取出各个<tr></tr>之间的信息,

tr><td width=80><u>0</u></td><td>设备层水箱间</td></tr>和
<tr><td width=80><u>7</u></td><td>701</td><td>702</td><td>703 </td><td>705 </td><td >706 </td><td>707 </td><td>708 </td><td>709 </td><td>710 </td><td>711 </td><td>712 </td><td>713 </td><td>715 </td><td>716 </td><td>717 </td><td>718 </td><td>719 </td><td>720 </td></tr>等

解决方案 »

  1.   

    String testString = “<table><tr><td width=80><u>0</u></td><td>设备层水箱间</td></tr><tr><td width=80><u>7</u></td><td>701</td><td>702</td><td>703 </td><td>705 </td><td >706 </td><td>707 </td><td>708 </td><td>709 </td><td>710 </td><td>711 </td><td>712 </td><td>713 </td><td>715 </td><td>716 </td><td>717 </td><td>718 </td><td>719 </td><td>720 </td></tr><tr><td width=80><u>8</u></td><td>801 </td><td>802 </td><td>803 </td><td>805 </td><td>806 </td><td >807 </td><td >808 </td><td >809 </td><td>810 </td><td >811 </td><td>812 </td><td>813 </td><td>815 </td><td>816 </td><td>817 </td><td>818 </td><td>819 </td><td>820 </td></tr></table>”;        Pattern p = Pattern.compile("<td>(.*)</td>");
            Matcher m = p.matcher(testString);
      

  2.   

    并不复杂,但可能比较繁琐。正则表达式很简单的,你可以自己动手:http://www.regexlab.com/zh/regref.htm
      

  3.   

    christion3(黑翼堕天使) 你好,我不是想要你说的那个结果,我是想要<td width=80><u>0</u></td><td>设备层水箱间</td>

    <td width=80><u>7</u></td><td>701</td><td>702</td><td>703 </td><td>705 </td><td >706 </td><td>707 </td><td>708 </td><td>709 </td><td>710 </td><td>711 </td><td>712 </td><td>713 </td><td>715 </td><td>716 </td><td>717 </td><td>718 </td><td>719 </td><td>720 </td>,一个<tr>...</tr>之间有一个<u>...</u>,很多个<td>...</td>,必须对应起来,如果能分别取到<tr>...</tr>就好办了,但是如果pattern = Pattern.compile("<tr>(.+)</tr>"); 取到的还是整个字符串
      

  4.   

    谢谢sswater(光杆兵),看了那文章,应该这样写pattern = Pattern.compile("<tr>(.*?)</tr>");
      

  5.   

    恩,是和最后一个匹配的
    加个判断试下可以吗
    while (m.find())
    然后把他打印出来?