匹配字符串模式

时间:2015-06-28 00:02:50

标签: java string pattern-matching match

我如何获得匹配的字符串?

我想在“text-align:right”之后得到这个数字 - 但是只有当字符串加工到后面的字符串时。

<td style="text-align:left;">whatever characters</td>
                              <td style="text-align:right;">whatever characters</td>

我正在搜索的文字如下:

<td style="text-align:left;">all kinds of 12.:-aäüKFfk characters </td>
                              <td style="text-align:right;">100.00</td>
                              <td style="text-align:right;">200.00</td>
                             ...more text...
                              <td style="text-align:left;">all kinds of 12.:-aäüKFfk characters</td>
                              <td style="text-align:right;">300.00</td>
                              <td style="text-align:right;">400.00</td>

这应该打印到控制台窗口的数字100.00和300.00但它没有显示任何内容。

Pattern pattern = Pattern.compile("<td style=\"text-align:left;\">.</td>" + "\\s+" + "<td style=\"text-align:left;\">(.*?)</td>");
Matcher matcher = pattern.matcher(alltext);
    while (matcher.find()) {
        System.out.println(matcher.group(1));}

如果我只尝试

Pattern pattern = Pattern.compile("<td style=\"text-align:left;\">(.*?)</td>");
Matcher matcher = pattern.matcher(alltext);
    while (matcher.find()) {
        System.out.println(matcher.group(1));}

它打印出所有数字100.00,200.00,300.00和400.00

所以问题必须在这部分

Pattern.compile("<td style=\"text-align:left;\">.</td>" + "\\s+" + 

可能是什么问题以及如何解决?

0 个答案:

没有答案