это кусок фронтенда тулзы для себя - цели-то определены, а вот способы реализации - эксперементирую.... объемы данных небольшие - быстродействие не критично. в общем, с одной стороны - да, надо решить задачу, с другой - размялся с регвырами:)
в принципе, можно использовать выражение
(?:<start>|<separator>)(.*)(?:<separator>|<end>)
но данные могут быть в html/xml, а наигравшись с синтаксисиом, повнимательнее перечитал ассистент:
Note that in general regexps cannot be used to check for balanced brackets or tags. For example if you want to match an opening html <b> and its closing <b>, you can only use a regexp if you know that these tags are not nested; the html fragment, <b>bold <b>bolder</b></b> will not match as expected. If you know the maximum level of nesting it is possible to create a regexp that will match correctly, but for an unknown level of nesting, regexps will fail.
решение - использую связку из регекспов (т.е. одним не обошлось), при этом <start>-<separator>-<end> - тоже регулярные выражения... если повозиться с их формированием - проблем с "balanced brackets or tags"-документами не возникает (по крайней мере, мне не попались:) )
Rcus, спасибо вам большое за ответы, вопрос можно считать закрытым.