Your problem is that you never call find before trying to get group, that is why you don't have match.
You need this line of code:
m.find();
Before you do
String fromMatcher = m.group(0); //first word surrounded by hash, without the hash
But even then, you will get it all with hash tags around, to avoid that you should create group only for inner text around hash tags like this:
Pattern ptrn = Pattern.compile("#([^#]+)#");
And when you are accessing your group it will be group number 1 (because 0 is whole pattern). So change getting group like this:
String fromMatcher = m.group(1); //first word surrounded by hash, without the hash