Вам нужны именованные группы захвата.Именованные группы захвата позволяют вам указать заданную часть в регулярном выражении с именем, чтобы извлечь ее позже.Именованная группа захвата начинается с (?, Затем следует регулярное выражение и заканчивается на).
<td class\=\".*?sunamount\">\s+(?<amount>\d+(\.\d+)?)\s+<\/td>
После этого вы сможете извлечь сумму, применив свое регулярное выражение к входу и выбрав группу с именем сумму изоб этом.
Чтение о OpenHab онлайн Я не уверен, что они поддерживают именованные группы захвата.Таким образом, альтернативой будет использование приведенного выше регулярного выражения для сопоставления всех строк с суммами во входных данных.Затем с помощью регулярного выражения замените на этой совпадающей строке.Так что-то вроде ...
Используйте это регулярное выражение для получения сумм:
<td class\=\".*?sunamount\">\s+\d+(\.\d+)?\s+<\/td>
Используйте это регулярное выражение в результате приведенного выше регулярного выражения, чтобы заменить не суммы (и замените их пустымстрока для их удаления):
([\s]|<td class=".*?">|<\/td>)