Более или менее очевидно:
\[start\](.*?)\[end\]
но это также дает теги [start] и [end]. Как вы их опускаете?
Например: f("[somestartstring]result[someendstring]") == "result"
ОБНОВЛЕНИЕ: предлагаемые ответы не работают. Мой код:
printfn "%s" (Regex.Match(@"[start]result[end]",
"\\[start\\](.*?)\\[end\\]").Groups.[0].Value)
но все равно выдает окружающие начальный и конечный теги.
Моя ошибка: индекс 0! Спасибо.