Поиск совпадения в регулярках Java
Метод find у Matcher
возвращает true, если в строке есть
хотя бы одно совпадение с шаблоном, и
false, если совпадений нет. Проверка
идет слева направо по всей строке:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String txt = "aaa 123 bbb";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(txt);
boolean hasDigits = matcher.find();
System.out.println(hasDigits);
}
}
После успешного find текст совпадения
берут методом group() без аргумента:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String txt = "aaa 123 bbb 456";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(txt);
if (matcher.find()) {
System.out.println(matcher.group());
}
}
}
Дана строка:
public class Main {
public static void main(String[] args) {
String txt = "123 abc 456 cde";
}
}
Найдите первую подстроку из одних букв и выведите ее в консоль.
Дана строка:
public class Main {
public static void main(String[] args) {
String txt = "1 23 456 789";
}
}
Проверьте, есть ли в строке число из трех цифр подряд, и выведите результат в консоль.