Если вы отфильтровываете каждую строку, которая не открывает и не закрывает тег span в одной и той же строке, вы можете использовать:
filtered.replaceAll ("<span>([^<]*)</span>", "$1")
.replaceAll (" ", "")
Парантезы создают группу захвата, на которую вы позже ссылаетесьслева направо по первому пареню по номеру - здесь он всего один, следовательно, 1 доллар.После открывающего тега вы читаете все, кроме ^ знака «меньше», который, как вы ожидаете, будет закрывающим тегом, до закрывающего тега.
Однако в большинстве случаев я бы согласился со Stema и Hovercraft Full Of Eels.Подводные камни для регулярного выражения в html:
- Открывающий и закрывающий тег трудно найти с помощью регулярного выражения, если они охватывают несколько строк, и более того, если они вложенные.
- Теги внутри Комментарии трудно обнаружить
Однако есть редкие случаи, когда полезны регулярные выражения:
- Одноразовые задания, где вы наблюдаете за всемипоступающий вход.
- Сгенерированный HTML, который всегда будет выглядеть одинаково, например, из роутеров или javadocs
- HTML, который вы создаете самостоятельно с учетом своей программы