解析字符串 就差java正则表达式解决方案

解析字符串 就差java正则表达式
本帖最后由 s13219091 于 2014-05-16 09:33:01 编辑
您好,我用HttpURLConnection 访问一个网站,想把返回的数据解析下,这个正则不知道在java里怎么写。。,JS已经实现

这是返回的数据:

<td><ahref="javascript:detatilssc('2014051596');">2014051596</a></td><td>02:00</td><tdclass="red"><p>33440</p></td></tr><tr><td><ahref="javascript:detatilssc('2014051595');">2014051595</a></td><td>01:50</td><tdclass="red"><p>75119</p></td></tr><tr><td><ahref="javascript:detatilssc('2014051594');">2014051594</a></td><td>01:40</td><tdclass="red"><p>23254</p></td></tr><tr><td><ahref="javascript:detatilssc('2014051593');">2014051593</a></td><td>01:30</td><tdclass="red"><p>21459</p></td></tr><tr><td><ahref="javascript:detatilssc('2014051592');">2014051592</a></td><td>01:20</td><tdclass="red"><p>50531</p></td></tr><tr><td><ahref="javascript:detatilssc('2014051591');">2014051591</a></td><td>01:10</td><tdclass="red"><p>30877</p></td></tr><tr><td><ahref="javascript:detatilssc('2014051590');">2014051590</a></td><td>01:00</td><tdclass="red"><p>88752</p></td></tr><tr><td><ahref="javascript:detatilssc('2014051589');">2014051589</a></td><td>00:50</td><tdclass="red"><p>82482</p></td></tr><tr><td><ahref="javascript:detatilssc('2014051588');">2014051588</a></td><td>00:40</td><tdclass="red"><p>28531</p></td></tr><tr>


我只想获得每个td里面的三处(写一个正则匹配所有符合的,然后循环出每个里面的这三个数)

 获得这三处:  2014051596   02:00  33440 (每个TD都有这三处)


附上JS代码:

var reg=/(\d{10}).+(\d{2}\:\d{2}).+<p>([\d ]{9})<\/p>/,
match=str.match(reg);

 match[1], match[2], match[3]   是他们匹配到的值



最好写出一个DEMO,谢谢各位大牛
------解决方案--------------------
String s="<td><ahref=\"javascript:detatilssc('2014051596');\">2014051596</a></td><td>02:00</td><tdclass=\"red\"><p>33440</p></td></tr><tr><td><ahref=\"javascript:detatilssc('2014051595');\">2014051595</a></td><td>01:50</td><tdclass=\"red\"><p>75119</p></td></tr><tr><td><ahref=\"javascript:detatilssc('2014051594');\">2014051594</a></td><td>01:40</td><tdclass=\"red\"><p>23254</p></td></tr><tr><td><ahref=\"javascript:detatilssc('2014051593');\">2014051593</a></td><td>01:30</td><tdclass=\"red\"><p>21459</p></td></tr><tr><td><ahref=\"javascript:detatilssc('2014051592');\">2014051592</a></td><td>01:20</td><tdclass=\"red\"><p>50531</p></td></tr><tr><td><ahref=\"javascript:detatilssc('2014051591');\">2014051591</a></td><td>01:10</td><tdclass=\"red\"><p>30877</p></td></tr><tr><td><ahref=\"javascript:detatilssc('2014051590');\">2014051590</a></td><td>01:00</td><tdclass=\"red\"><p>88752</p></td></tr><tr><td><ahref=\"javascript:detatilssc('2014051589');\">2014051589</a></td><td>00:50</td><tdclass=\"red\"><p>82482</p></td></tr><tr><td><ahref=\"javascript:detatilssc('2014051588');\">2014051588</a></td><td>00:40</td><tdclass=\"red\"><p>28531</p></td></tr><tr>";
 Matcher m= Pattern.compile("(\\d{10}).*?(\\d{2}\\:\\d{2}).*?<p>(\\d{5})</p>").matcher(s);
 while(m.find()){
 System.out.println(m.group(1)+"-->"+m.group(2)+"-->"+m.group(3)+"-->");
 
 }

------解决方案--------------------

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class CaipiaoTest {
public static void main(String[] args) {
String html = "<table><tr><td><a href=\"javascript:detatilssc('2014051596');\">2014051596</a></td><td>02:00</td><td class=\"red\"><p>33440</p></td></tr><tr><td><a href=\"javascript:detatilssc('2014051595');\">2014051595</a></td><td>01:50</td><td class=\"red\"><p>75119</p></td></tr><tr><td><ahref=\"javascript:detatilssc('2014051594');\">2014051594</a></td><td>01:40</td><td class=\"red\"><p>23254</p></td></tr><tr><td><a href=\"javascript:detatilssc('2014051593');\">2014051593</a></td><td>01:30</td><td class=\"red\"><p>21459</p></td></tr></table>";
Document doc = Jsoup.parse(html);// 解析HTML字符串返回一个Document实现
Elements tds = doc.getElementsByTag("td");// 查找td元素