Код | public static void main(String[] args) { String html = "<html>\n" + "<head>\n" + "<title></title>\n" + "</head>\n" + "\n" + "<table>\n" + "<tr><td><a href=\"in.pp?p=1\" onclick=\"show(this, 'DLINA');\">11111</a></td><td>Длина: 0,23 см 111</td></tr>\n" + "<tr><td>11</td><td>22</td></tr>\n" + "<tr><td>33</td><td>44</td></tr>\n" + "</table>\n" + "\n" + "<table>\n" + "<tr><td><a href=\"in.pp?p=2\" onclick=\"show(this, 'HATA');\">222222</a></td><td>Длина: 0,01 см</td></tr>\n" + "<tr><td>44</td><td>55</td></tr>\n" + "<tr><td>77</td><td>66</td></tr>\n" + "</table>\n" + "\n" + "</body>\n" + "</html>\n" + ""; //<a[^>]*onclick=\"show[a-zA-Z,'\\s\\(\\);]*\">(.+)</a> //Длина:\\s([0-9,]+)
Pattern p = Pattern.compile("<a[^>]*onclick=\"show[a-zA-Z,'\\s\\(\\);]*\">(.+?)</a>.*Длина:\\s([0-9,]+)", Pattern.DOTALL | Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(html); while(m.find()) { System.out.println(m.group(1) + " " + m.group(2)); } }
|
Вот есть два паттерна ("<a[^>]*onclick=\"show[a-zA-Z,'\\s\\(\\);]*\">(.+?)</a>" и такой "Длина:\\s([0-9,]+)") по отдельности они работают и выдают по два значения, а вот как их соединить?
|