1

ハッシュタグとキャッシュタグを含む Twitter メッセージをトークン化したいと考えています。トークン化の正しい例は次のようになります。

"Bought $AAPL today,because of the new #iphone".match(...);
>>>> ['Bought', '$AAPL', 'today', 'because', 'of', 'the', 'new', '#iphone']

このタスクのためにいくつかの正規表現を試しました。

"Bought $AAPL today,because of the new #iphone".match(/\b([\w]+?)\b/g);
>>>> ['Bought', 'AAPL', 'today', 'because', 'of', 'the', 'new', 'iphone']

"Bought $AAPL today,because of the new #iphone".match(/\b([\$#\w]+?)\b/g);
>>>> ['Bought', 'AAPL', 'today', 'because', 'of', 'the', 'new', 'iphone']

"Bought $AAPL today,because of the new #iphone".match(/[\b^#\$]([\w]+?)\b/g);
>>>> ['$AAPL', '#iphone']

先頭のシャープ記号またはドル記号をトークンに含めるには、どの正規表現を使用できますか?

4

1 に答える 1

2

明らかなことはどうですか

"Bought $AAPL today,because of the new #iphone".match(/[$#]*\w+/g)
// ["Bought", "$AAPL", "today", "because", "of", "the", "new", "#iphone"]

?

PS:[$#]*に置き換えられる可能性がありますが[$#]?、正確な要件については不明です。

于 2013-04-28T21:58:05.787 に答える