Захватив группу с помощью сопоставления с образцом является то, что, как показано ниже
String x = " <span>454.000 $</span> ";
Pattern p = Pattern.compile("<span>(.*?)</span>");
Matcher m = p.matcher(x);
if (m.find()) {
System.out.println(">> "+ m.group(1)); // output 454.000 $
}
Но для таких случаев я всегда предпочитаю использовать replaceAll()
, как это сокращенный вариант кода:
String num = x.replaceAll(".*<span>(.*?)</span>.*", "$1");
// num has 454.000 $
Для замены фактически захватив группу из текста и заменить весь текст с этой группой ($1
). Это решение зависит от того, как ваша строка ввода.
Любая конкретная причина, по которой вы используете регулярное выражение для анализа HTML? В общем, это довольно неодобрительно. – csmckelvey
$ number = strip_tags ($ HTMLBLOB); \ o/ –