Не регулярное выражение, а альтернатива, чтобы попробовать. Можно использовать и регулярное выражение, но для этой конкретной ситуации я предпочитаю этот метод.
string mystring = "DFASDFASFASFASFAF#322323";
int length = (mystring.IndexOf('#') == -1) ? mystring.Length : mystring.IndexOf('#');
string new_mystring = mystring.Substring(0, length);