2015-06-17 108 views
-2

開始比賽的話到目前爲止,我有紅寶石正則表達式 - 這與#

def get_hashtags(post) 
    words = post.scan(/\#(\w+)/) 
end 

其中一期工程,但它也得到像「在#線」的話,而我只希望它們與#開頭的單詞。

我試過使用\ b,但我似乎無法弄清楚。

任何幫助將不勝感激。

謝謝!

+0

有了您的正則表達式你正好與#說的話之前使用空白邊界。在'在#行'的情況下,它會捕獲#line。這裏有什麼問題? –

+0

問題出在#行不以#開頭,它以'i'開頭,所以不應選擇它。 – user2085143

+0

所以它不會捕獲'我',這正是hashtags的工作方式。 '#one#two'是2個正確的#標籤。你說,它應該只捕獲'#one'或被捕獲爲一個單一的hashtag? –

回答

1

我將在#

/(?<!\S)\#(\w+)/