Поиск цифр в строке
Можно ли в строке искать по условию ( буква.число число число число ) . Найти год в названии файла например файл содержит в названии год по такому шаблону у.2018 . Можно ли не используя переборов и циклов найти год, с помощью регулярных выражений . Например содержит ли строка - имя букву точку и 4 числа.
Ответы (1 шт):
Автор решения: Alex Rudenko
→ Ссылка
Регулярка для поиска шаблона "буква точка 4 цифры" будет выглядеть так:
\p{L}\.\d{4}Онлайн-демо
В Java-коде это выражение будет записано так:
Pattern letterDot4Digits = Pattern.compile("\\p{L}\\.\\d{4}");
Для проверки соответствия можно использовать String::matches или Pattern::matcher::find
// нужно добавить .*, так как matches сопоставляет целую строку
if (filename.matches(".*\\p{L}\\.\\d{4}.*")) {
// ...
}
if (letterDot4Digits.matcher(filename).find()) {
// ...
}