Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 匹配字符串模式_Java_String_Pattern Matching_Match - Fatal编程技术网

Java 匹配字符串模式

Java 匹配字符串模式,java,string,pattern-matching,match,Java,String,Pattern Matching,Match,如何获得匹配的字符串 我想在“text align:right”之后得到这个数字,但前提是字符串与下面的字符串匹配 <td style="text-align:left;">whatever characters</td> <td style="text-align:right;">whatever characters</td> 任何字符 不管是什么角色 我正在搜索的文本如下所示:

如何获得匹配的字符串

我想在“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>
各种12.:-aäukfk字符
100
200
…更多文本。。。
各种12.:-aäukfk字符
300
400
这应该打印到控制台窗口的数字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.compile(“.“+”\\s+“+”(.*)”;
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));}
Pattern=Pattern.compile((*?);
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+" + 
Pattern.compile(“.+”\\s++”
问题可能是什么?如何解决