Есть
официальная библиотека от Twitter которая, в частности, предоставляет функциональность экстракции хэштегов (
пример для JS).
Если смотреть в код то там будет видно что реальный regexp формируется из кусков и его суммарный финальный размер весьма велик (думаю несколько кб). Кроме того есть ещё одна проблема, уже специфическая для PHP - библиотека PCRE, используемая как движок регулярных выражений для PHP не поддерживает
Unicode Surrogates, выдавая для них ошибку Error 73 disallowed Unicode code point.
Я в своё время для одного проекта конвертировал реализацию из библиотеки Twitter для PHP, если нужно - можно забрать
здесь. Там правда есть небольшое отличие в обработке mentions т.к. нужно было учесть специфику Instagram, ну и то что касается специфики работы PCRE, см. выше.