0

ここで、正規表現について明確にしようとしています。私はこの正規表現を作成しました:

a.match( /(@|#)(.*?)(\s|$|\:)/g )

ツイート内のすべてのユーザーとハッシュタグに一致します。問題は、条件 (@|#) と (\s|$|\:) を返すことです。

それらを返さないことは可能ですか?

私はJavascriptを使用しています

var a ='RT @OLMJanssen: Met #FBKGames en @Jmvanhalst volop in voorbereiding: 6 juni seminar kwaliteitsborging van #sportaccommodatie bij regiseerende gemeente'
a.match( /(@|#)(.*?)(\s|$|\:)/g )
//returns ["@OLMJanssen:", "#FBKGames ", "@Jmvanhalst ", "#sportaccommodatie "]
4

3 に答える 3

1

これでうまくいくはずです:/[@#]([^\s$:]+)/g

于 2013-05-21T15:01:06.020 に答える
0

あなたが持っているもので(つまり、クラスではなくグループ)

var match, re = /(@|#)(.*?)(\s|$|\:)/g;
while (match = re.exec(a)) {
 alert(match[2]); // match[1] is "#" or "@"
}
于 2013-05-21T15:02:18.657 に答える