Есть строка:
random_ 123 _text 456 random_text_end
Подскажите пожалуйста каким будет регулярное выражение для поиска 456
в данной строке если не известно: будет ли random_ 123 _text
и будет ли random_text_end
? Главное условие что искомое число последнее в строке при этом как до, так и после может быть что угодно.
Спасибо.
Можно просто перебором найти последнее вхождение:
//Основной метод приложения
public static void main(String[] args) throws IOException {
String text = "random_ 123 _text 456 random_text_end";
Pattern pattern = Pattern.compile("(\\d+)");
Matcher matcher = pattern.matcher(text);
String result = null;
while (matcher.find()){
result = matcher.group(0);
}
//Тут обрабатываем результат
String resultHandler = result; //result = "456"
}
Цикл сработает, но можно решить и одним выражением: (\d+)[^\d]*$
(группа цифр, после которой до конца строки цифры не встречаются).
На Java будет выглядеть так:
String text = "random_ 123 _text 456 random_text_end";
Pattern pattern = Pattern.compile("(\\d+)[^\\d]*$");
Matcher matcher = pattern.matcher(text);
//если цифр в строке нет, то будет null.
String result = matcher.find() ? matcher.group(1) : null;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
При инициализации viewModel использую кастомный Factory с передачей в конструктор аргумента
Есть свой ExeptionServlet, который отлавливает эксепшины и выводит необходимую мне информацию
Есть список товаров, и кнопки количества товаров у каждого товара
Всем доброго времени суток! Есть массив с объектами внутриМне нужно определенное значение объекта вынести в texarea через запятую с текстом...