Esto parece funcionar ...
C#
Regex MyRegex = new Regex("\\#\\w+");
MatchCollection ms = MyRegex.Matches(InputText);
o vb.net
Dim MyRegex as Regex = new Regex("\#\w+")
Dim ms as MatchCollection = MyRegex.Matches(InputText)
Dadas texto de entrada de ...
"asdfas #asdf asdf asd fas df asd fas #df asd f asdf "
... esto dará paso ....
"#asdf" y "#df"
Yo te garantizo que este no le consigue una matriz de cadenas pero el MatchCollection es enumerable y así podría ser lo suficientemente bueno.
Además, voy a añadir que me dieron esto a través del uso de Expresso. que parece ser gratis. Fue muy útil para producir C#, que soy muy pobre. (Es decir, qué el escape para mí.) (Si alguien piensa que debería eliminar esta pseudo-anuncio, por favor, comentar, pero pensé que podría ser útil :) Los buenos tiempos)