Я пытаюсь захватить все блоки {% tag %}...{% endtag %}
по отдельности в строке, но мое регулярное выражение всегда возвращает всю строку от первого открывающего тега до последнего конечного тега. Как я могу заставить его захватывать все блоки по отдельности, а не только одно совпадение?
Вот пример строки:
{% tag %}Lorem ipsum dolor sit amet{% endtag %}
{% tag %}
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
{% endtag %}
И мое регулярное выражение (в рубине): /(\{% trans %\}.*\{% endtrans %\})/m
Я знаю, что проблема в .*
, но я не нашел способа сопоставить все, кроме закрывающего тега.
*
с?
. Отлично работает спасибо! 05.05.2014