我有一个程序应该从html文件中选择电话号码和人名,姓氏和大学名称。
问题在于,当我逐行读取文件时,程序无效。
try (BufferedReader in = new BufferedReader(new FileReader("test.html"))) {
String inputLine;
while ((inputLine = in.readLine()) != null){
Matcher matcher = Pattern.compile("(\\+\\d{3}) (\\d{5})...(\\d{4})\\D+\\d+\\\">(.*)<").matcher(inputLine);
while(matcher.find()){
System.out.print(matcher.group(1)+" "+matcher.group(2)+" ("+matcher.group(3)+") "+matcher.group(4)+"\n");
}
}
}
这是我在html中的一些文字示例:
+123 48535<b>3597</b> </td>
<td>
<a href="/abcd/315">prof. Dr. Ing. Name Surname</a>
</td>
<td>
<tr>
<th class="function-title" colspan="4">some_function</th>
</tr>
<tr>
<td>
+123 48535<b>3656</b> </td>
<td>
<a href="/zamestnanec/167">doc. PhDr. Name2 Surname2, Ph.D.</a>
</td>
预期输出如下:
+123 48535 (3597) prof. Dr. Ing. Name Surname
+123 48535 (3656) doc. PhDr. Name2 Surname2, Ph.D.
代码按预期工作,例如,如果我有一个String inputLine = "same text that was in html file"
,但是当我从文件中读取时,它没有工作,我得到的一切都没有:(