Форматирование списка регуляркой на JS
Есть такой вот список:
-------------------------------------------------
Studio name:
Awesome Work 1
Awesome Work 2
Awesome Work 3
-------------------------------------------------
Another Studio:
Film
-------------------------------------------------
TV Giant:
Item 1.1
Item 1.2
Item 1.3
Item 2.1
Item 2.2
-------------------------------------------------
Решел перевести его на язык markdown таким вот образом:
### Studio Name
* Awesome Work 1
* Awesome Work 2
* Awesome Work 3
### Another Studio
* Film
### TV Giant
* Item 1.1
* Item 1.2
* Item 1.3
>
* Item 2.1
* Item 2.2
Вручную делать лень - решил программу написать, однако очень быстро понял, что моих знаний в регулярках недостаточно даже чтобы убрать горизонтальные разделительные линии (---).
Написал так: result = result.replace(/\n?-{3,}\n?/g, ""), но этот код заменяет все ---, т.е. даже такие: abc-------abc => abcabc.
И если с оглавленим списка я ещё более менее понимаю, как его можно форматировать (хотя и не знаю, что писать), то вот как обработать элементы списка, тем более, когда там 2 и более групп - понятия не имею.
Помогите, если не решением, то советом.
Ответы (1 шт):
Произвести нужные изменения можно при помощи потокового текстового редактора sed. Команда:
sed -r -i.back -e '/^[-]{1,}$/d; /^\s+/s/^\s+(.+)$/* \1/; /(^\s*$|^\*)/!s/^/### /;' [PATH_TO_YOUR_TXT_FILE]
Приведенная команда сохранит исходный файл с расширением .bac