2012-01-11 7 views
0

私は#tagsをすべてテキストの一部(javascriptを使用)で見つけて使いたいと思っています。正規表現myString.match(/#\w+/g)が動作しますが、私も#を取得します。 #のない単語だけをどうやって得ることができますか?javascriptを使って正規表現の一部を保存する

答えて

2

あなたはこのような何か行うことができます。

var code='...'; 
var patt=/#(\w+)/g; 
var result=patt.exec(code); 

while (result != null) { 
    alert(result[1]); 
    result = patt.exec(code);  
} 

()基を意味します。これらのグループにアクセスして、そのグループに含まれるものを確認することができます。詳細については、hereおよびhereを参照してください。私はここにES5のforEachを使用してい

+0

おかげで、完璧に動作します!私はあなたがマッチ機能でこれをすることができないことに少し失望した。 – Niels

+0

@ニールズ喜んでそれが働いた。これで問題が解決したら、左側の緑色の「非常に良い」印を付けてください) – npinti

+0

はい、私はあなたの答えを受け入れる前に私が待たなければならない愚かな4分を待っています。この遅れは何ですか... – Niels

0
var result = myString.match(/#\w+/g); 
result.forEach(function (word, index, arr){ 
    arr[index] = word.slice(1); 
}); 

Demo

注意。それは次のようになりますので、あなたは簡単に、forループでそれを置き換えることができます。

var result = myString.match(/#\w+/g); 
for (var i = 0; i < result.length; i++){ 
    result[i] = result[i].slice(1); 
} 

Demo without forEach

Docs on forEach

関連する問題