У меня есть рабочее регулярное выражение здесь , которое извлекает нужные мне значения. Выглядит это так:
(?<=<dd class="info-table__value">)\d*\s\€.*(?=<\/)|(?<=(?>Energialuokka|Rakennusvuosi)<\/dt>\n\t{6}<dd class="info-table__value">|Tulevat remontit<\/dt>\n\t{6}<dd class="info-table__value">|Tehdyt remontit<\/dt>\n\t{6}<dd class="info-table__value">).*(?=<\/)
Это все случаи внутри второго взгляда
(?>Energialuokka|Rakennusvuosi)<\/dt>\n\t{6}<dd class="info-table__value">
Tulevat remontit<\/dt>\n\t{6}<dd class="info-table__value">
Tehdyt remontit<\/dt>\n\t{6}<dd class="info-table__value">
Как видите, все они заканчиваются одной строкой
<\/dt>\n\t{6}<dd class="info-table__value">
Есть ли способ упростить эту формулу, избегая повторения одной и той же строки снова и снова? Я использовал атоми c group т.е. (?> ...) для одного из случаев, но это работает только в том случае, если элементы внутри него имеют одинаковую длину.
Есть идеи? Спасибо!