Если вы хотите проверить, содержит ли строка подстроку или нет с помощью regex, то самое близкое, что вы можете сделать, это использовать find () -
private static final validPattern = "\\bstores\\b.*\\bstore\\b.*\\bproduct\\b"
Pattern pattern = Pattern.compile(validPattern);
Matcher matcher = pattern.matcher(inputString);
System.out.print(matcher.find()); // should print true or false.
Обратите внимание на разницу между match () и find ( ), matches () возвращает true, если вся строка соответствует заданному шаблону. find () пытается найти подстроку, которая соответствует шаблону в заданной строке ввода. Кроме того, с помощью функции find () вам не нужно добавлять дополнительное соответствие, например - (? S). * В начале и. * В конце вашего шаблона регулярного выражения.