Парсинг текстового поля Postgres
Есть текстовое поле, заполненное по следующему шаблону: [цифра0][произвольный набор символов1][цифра1][разделитель]...[произвольный набор символовN-1][цифраN-1][разделитель][произвольный набор символовN]
Цифра содержит кол-во символов в следующем за ней после разделителя текстовом поле (во всех случаях кроме начала строки, где текст идёт сразу после указания его длинны - без разделителя).
Пример строки: "12column_name79#col_value13#..." , где [12 = цифра0, длина идущего далее поля][column_name7 = произвольный набор символов1][9 = цифра2, длина идущего далее поля][# = разделитель][col_value = произвольный набор символов2][13 = цифра3, длина идущего далее поля][# = разделитель][... аналогичные конструкции энное кол-во раз].
Мне нужно произвести изрядные шаманства с этими данными, но первым делом, нужно как-то распарсить строку: вытащить из строки все [произвольный набор символов] и собрать их в массив/временную таблицу. Полагаю, тут как-то могут помочь регулярные выражения, но даже не знаю, как подступиться.
p.s. важно, что [произвольный набор символов] вполне может содержать цифры, так что просто заранее начитать все цифры, и как-то итеративно двигать по substring'ам, суммируя длинны не выйдет.