Regex из 2 сделать 1

 
0
 
Java
ava
Anime | 30.09.2013, 12:41

    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 см &nbsp;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,]+)") по отдельности они работают и выдают по два значения, а вот как их соединить?
Comments (1)
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
ava  LSD   Anime
advanced
Submit