Попробуйте это регулярное выражение:
/#[^\s]*/i
Или используйте это, если несколько хеш-тегов соединены вместе (например, # foo # bar).
/#[^\s#]*/i
Запуск PHP будет выглядеть так:
preg_match_all('/#[^\s#]*/i', $tweet_string, $result);
Результатом является массив, содержащий все хэштеги в твите (сохраняются как «$ result» - третий аргумент).
Наконец, проверьте этот сайт. Я нашел это очень удобным для тестирования регулярных выражений. http://regex.larsolavtorvik.com/
РЕДАКТИРОВАТЬ : Я попробовал ваше регулярное выражение, и оно тоже отлично работало!
EDIT 2 : добавлено еще одно регулярное выражение для извлечения хеш-тегов, даже если они последовательны.