I'm sure somebody with more Regular Expression experience could do better. That said, try this...
string s = "[1] - blah blah [2] - [bbbbbb]";
System.Text.RegularExpressions.MatchCollection matches = Regex.Matches(s, @"\[(\w*)\]");
foreach (System.Text.RegularExpressions.Match match in matches)
{
MessageBox.Show(match.Groups[1].Value);
}