1) Как мне с помощью регулярки и взгляда назад отобрать так же те слова World, перед которыми ничего нет, например когда оно стоит в начале строки?
2) Проверял в текстовом файле с текстом World The magicworld. In World there may, ,world fantaskis things. Notreadlworld. First world. Однако вывод показал 1. Почему так произошло, если как минимум 3 слова он должен был отобрать?
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader fileReader = new BufferedReader(new FileReader(reader.readLine()));
reader.close();
Pattern pattern = Pattern.compile("(?<= )world");
ArrayList<String> world = new ArrayList<>();
String line;
while ((line = fileReader.readLine()) != null) {
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
world.add(line.substring(matcher.start(), matcher.end()));
}
}
fileReader.close();
System.out.println(world.size());
}
}