Я пытаюсь создать парсер bbcode, но у меня довольно много проблем, чтобы понять, как избежать слишком широкого соответствия. Например, я хочу реализовать [список] для преобразования следующим образом:
\[list\](.*)\[/list\]
будет заменено следующим:
<ul>$1</ul>
Это работает нормально, за исключением случаев, когда у меня есть два списка, где регулярное выражение соответствует начальному тегу первого списка и конечному тегу второго. Так что это
[list]list1[/list] [list]list2[/list]
становится таким:
<ul>list1[/list] [list]list2</ul>
, который производит действительно ужасный вывод. Есть идеи, как это исправить?