2012-04-21 3 views
2

たとえば、#は次のような特殊単語を表しているとします。正規表現を使用して次のマークアップを抽出するにはどうすればよいですか?

今日は#zooへの#looo旅行をしました。私たちは#wonderful時間を過ごしました。正規表現で、それが可能あなたのニーズに応じて、数字や記号を含めるように正規表現を微調整したい場合があります

var str = "I took a #lovely trip to the #zoo today. We had a #wonderful time" 
str.match(/#\w+/g); // #lovely,#zoo,#wonderful 

使用string.match

#lovely#zoo#wonderful 
+1

'#n&* nhj23'も一致させるべきですか? – noob

答えて

5

のようなものを抽出することです。

/#[\w\d]+/g文字と数字の場合は、/#\S+/gは空白ではありません。

EDIT:末尾のgは、最初のものだけでなくすべての一致を見つけることを意味します。

2

正規表現の回答があります。そして、split答えがあります。次のように動作します:

これは、正規表現の解決策より少し冗長です。私はそれがよりエレガントだと思う。

PS:あなたはそれを推測しました、私は正規表現が好きではありません!

+2

あなたは正直なところ、この文字を4文字の正規表現よりもエレガントに見分けますか? –

+0

正規表現が嫌いです。私はそれが混乱だとは思わない。 –

+1

さて、彼らは仕事のための正しいツールであるときに正規表現が好きです、そして、これはそのような時です。 –

関連する問題