Во-первых, я не эксперт по регулярным выражениям, поэтому я почти уверен, что делаю что-то не так.
Вот мое регулярное выражение:
<(list)(\b[^>]*)>(<\1\b[^>]*>.*?<\/\1>|.)*?<\/\1>
Это входная строка:
...
<list title="Lorem ipsum dolor sit amet, consectetur adipiscing elit...">
<li>
<list title="Lorem adipiscing...">
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit</li>
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit</li>
</list>
</li>
<li>
<list title="Lorem ipsum...">
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit</li>
</list>
</li>
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit
</li>
<li>Lorem ipsum dolor sit amet, consectetur adipiscing elit
</li>
</list>
...
Я хочу сопоставить внешний <list>
и перехватить весь контент, включая интертал <list>
, но когда я пытаюсь прочитать группу, \3
пусто, хотя группы \1
и \2
в порядке. *
Любые идеи будут очень признательны.