Чтобы найти подстроку в строке с помощью регулярных выражений в Java, вы можете использовать следующие методы:
- String.matches(regex): этот метод проверяет, соответствует ли вся строка указанному регулярному выражению. Он возвращает логическое значение, указывающее, есть ли совпадение или нет.
 
Пример:
String str = "Hello, world!";
boolean isMatch = str.matches("world");
System.out.println(isMatch);  // Output: false
- Классы Pattern и Matcher. Эти классы обеспечивают большую гибкость при работе с регулярными выражениями. Вы можете скомпилировать шаблон регулярного выражения с помощью класса Pattern, а затем использовать объект Matcher для выполнения различных операций, таких как поиск совпадений, извлечение подстрок и т. д.
 
Пример:
String str = "Hello, world!";
Pattern pattern = Pattern.compile("world");
Matcher matcher = pattern.matcher(str);
boolean isMatch = matcher.find();
System.out.println(isMatch);  // Output: true
Кроме того, вы можете выполнять более сложные операции, такие как сопоставление без учета регистра, сопоставление нескольких вхождений, захват групп и т. д., используя класс Matcher.