Я анализирую некоторые хорошо организованные строки (в формате HTML) для извлечения данных.Формат такой (новая строка добавлена для удобства чтения):
<span><h2>Category 1</h2>
<p><strong><u>Entry 1</u></strong></p>
<ul><li>Some Data</li></ul>
<h2>Category 2</h2>
<p><strong><u>Entry 2</span>
<ul><li>Some Data</li></ul>
</span>
Я намереваюсь найти все строки между <h2>
и извлечь строки после </h2>
в первую очередь.Шаблон поиска - /<h2>Tier.*?<\/h2>(.*?)(<h2>|<\/span>)/g
.Но каждая подходящая подстрока точно заканчивается <h2>
.Так что следующая категория не будет извлечена, в то время как третий блок категории подходит, потому что есть новый поиск.
Затем я пытаюсь искать подстроки, которые не содержат жадно <g2>
.Шаблон h2>Category.*?<\/h2>(^(h2).)*
.Это не работает, хотя.