Не пойму в чем дело, неправильно регулярное выражение похоже использую. Вроде данный паттерн должен правильно искать, но увы не ищет, проверял в обычной строке. matches выдает false, и соответственно count также всегда 0. При этом на сайте https://regex101.com/r/fQ6sV3/8 тестирую этот шаблон и он отрабатывает как надо. Что я упустил?
package com.javarush.task.task19.task1907;
/*
Считаем слово
*/
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(fileName);
String s = "";
while (fileReader.ready()) {
s += fileReader.read();
}
fileReader.close();
Pattern pattern = Pattern.compile("\bworld\b");
Matcher matcher = pattern.matcher(s);
int count=0;
while (matcher.find()) {
count++;
}
System.out.println(matcher.find()); // false
System.out.println(count); // 0
}
}