parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Не, запись может быть многострочна, поэтому так не работает.

@chusov 23.08.2021 15:11 / 23.08.2021 15:14

Здесь не просто одна запись в одной строке, запись может продолжится и на сл.строках вплоть до границы сл.записи. (в общем в обоих предыдщих примерах я это показал)

Ваш код разделит
line4
и
still line4 content
в разные строки результирующей таблицы, а так не надо.
*Но за подсказку о возможности trim отрезать произвольное число лидирующих символов, отдельное спасибо.

У меня привязка жестко к паттерну-начала записи \n(-*)>
и далее тело записи должно "слепо идти" вплоть до сл.такого паттерна (который начинает тело сл.записи) и т.д.

более того внутри записи могут произвольно встречаться как и \n так и "-" дефисы, так и ">" (но не в той последовательности, чтобы соответствать признаку начала записи, разумеется).

**Слово line похоже сбивает с мысли, заменю его на text

Т.е. возможен такой вид
1) Исходного файла
# тело файла
---
>text1
->text2 >-< still text2
-->text3
text3 continued >>>
till here
>
->
# /тело файла
2) Результат нужен
+---+----+----------------------+
|pos|pfx | content              |
+---+----+----------------------+
| 0 |>   |text1                 |
+---+----+----------------------+
| 1 |->  |text2 >-< still text2 |
+---+----+----------------------+
| 2 |--> |text3                 |
|   |    |text3 continued >>>   |
|   |    |till here             |
+---+----+----------------------+
| 3 |>   |                      |
+---+----+----------------------+
| 4 |->  |                      |
+---+----+----------------------+
P.S.: Я могу сделать всё через простой split и рекурсию, но хочу через regexp (но чет не могу).