POSIX 文字クラスの Regexp ドキュメントを参照することをお勧めします。あなたのニーズに合ったものがいくつかあります。出発点としてお勧め[:graph:]
し、必要に応じて絞り込みます。
ドキュメントから:
/[[:alnum:]]/ - Alphabetic and numeric character
/[[:alpha:]]/ - Alphabetic character
/[[:blank:]]/ - Space or tab
/[[:cntrl:]]/ - Control character
/[[:digit:]]/ - Digit
/[[:graph:]]/ - Non-blank character (excludes spaces, control characters, and similar)
/[[:lower:]]/ - Lowercase alphabetical character
/[[:print:]]/ - Like [:graph:], but includes the space character
/[[:punct:]]/ - Punctuation character
/[[:space:]]/ - Whitespace character ([:blank:], newline, carriage return, etc.)
/[[:upper:]]/ - Uppercase alphabetical
/[[:xdigit:]]/ - Digit allowed in a hexadecimal number (i.e., 0-9a-fA-F)
Ruby は、次の非 POSIX 文字クラスもサポートしています。
/[[:word:]]/ - A character in one of the following Unicode general categories Letter, Mark, Number, Connector_Punctuation
あなたの目的のために、次のようなもの:
/\s(#[[:graph:]]+)/
は、2 つのサンプル文字列をキャプチャします。前の Rubular リンクに例があります。