То, что вы имеете в виду, все еще можно сделать с помощью регулярных выражений. Попробуйте следующее ...
Regex regex = new Regex(@"\{\(([A-Z]{2}\d{1,6}|\d{1,6})\)\}");
String test = @"my pattern is the following:
Я хочу найти все вхождения в длинной строке
var matches = regex.Matches(test);
foreach (Match match in matches)
{
MessageBox.Show(String.Format("\"{0}\" found at position {1}.", match.Value, match.Index));
}
Надеюсь, это поможет.