LINUX.ORG.RU

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

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

Что значит «не вышло»? В Lua какие-то другие регулярные выражения?

Во-первых, да, другие, во вторых, там нет split в стандартной библиотеке.

ТС, мне некогда сейчас специально для тебя кодить, но я бы посоветовал написать свою реализацию split.

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

Что значит «не вышло»? В Lua какие-то другие регулярные выражения?

Во-первых, да, другие, во вторых, там нет split в стандартной библиотеке.

ТС, мне некогда сейчас специально для тебя кодить, но я бы посоветовал написать свою реализацию split. Возможно, проще будет делать рекурсивный match с конца строки, т.е. для строки s:

  1. Найти s1 = от начала строки s до последнего " ~ " .
  2. Разделить строку на s1 и хвост.
  3. Добавить хвост в список хвостов.
  4. Обработать s1 согласно этому алгоритму

Потом переставить хвосты в списке в обратном порядке. Сделать поправку на возможное отсутствие " ~ " в строке.

Я думаю, проще сделать нет возможности.