using System;
using System.Text.RegularExpressions;
using System.Linq;
public class Test
{
public static void Main()
{
string pattern = @"(?<=^(?:[^$]*\$){0,3})[^$]*\$?|[^$](?=\$|$)";
string[] strings = {
"Text1",
"Text1$Text2$Text3",
"Text1$Text2$Text3$Text4$Text5$Text6"
};
Regex regex = new Regex(pattern);
foreach (String s in strings) {
Console.WriteLine(string.Join("", from Match match in regex.Matches(s) select match.Value));
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnVzaW5nIFN5c3RlbS5MaW5xOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXN0cmluZyBwYXR0ZXJuID0gQCIoPzw9Xig/OlteJF0qXCQpezAsM30pW14kXSpcJD98W14kXSg/PVwkfCQpIjsKICAgICAgICBzdHJpbmdbXSBzdHJpbmdzID0geyAKICAgICAgICAgICAgIlRleHQxIiwKICAgICAgICAgICAgIlRleHQxJFRleHQyJFRleHQzIiwKICAgICAgICAgICAgIlRleHQxJFRleHQyJFRleHQzJFRleHQ0JFRleHQ1JFRleHQ2IgogICAgICAgIH07ICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgUmVnZXggcmVnZXggPSBuZXcgUmVnZXgocGF0dGVybik7CgogICAgICAgIGZvcmVhY2ggKFN0cmluZyBzIGluIHN0cmluZ3MpIHsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoc3RyaW5nLkpvaW4oIiIsIGZyb20gTWF0Y2ggbWF0Y2ggaW4gcmVnZXguTWF0Y2hlcyhzKSBzZWxlY3QgbWF0Y2guVmFsdWUpKTsKICAgICAgICB9Cgl9Cn0=