LINUX.ORG.RU

История изменений

Исправление kaldeon, (текущая версия) :

Я не понял полностью пример, поэтому попробую начать с простого:

echo '<% for @list -> $i, $j {... } %>' |sed -r 's/<%(([^%]|%[^>])+)%>/\1/'

Данное выражение просто вырезает текст между <% и %>. [^%]|%[^>] сделано, чтобы вырезать текст до первого вхождения %>.

В чём проявляется ограничение данного решения?

Исходная версия kaldeon, :

Я не понял полностью пример, поэтому попробую начать с простого:

echo '<% for @list -> $i, $j {... } %>' |sed -r 's/<%(([^%]|%[^>])+)%>/\1/'

Данное выражение просто вырезает текст между <% и %>. [^%]|%[^>] сделано, чтобы вырезать текст до первого вхождения %>.