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());

    }
}