使用javascript匹配存储部分正则表达式

使用javascript匹配存储部分正则表达式,javascript,regex,match,Javascript,Regex,Match,我想在一段文本中找到所有的#标记(使用javascript)并使用它们。regexmyString.match(/#\w+/g)可以工作,但是我也得到了#。如果没有#?你可以这样做: var code='...'; var patt=/#(\w+)/g; var result=patt.exec(code); while (result != null) { alert(result[1]); result = patt.exec(code); } var resul

我想在一段文本中找到所有的
#标记
(使用javascript)并使用它们。regex
myString.match(/#\w+/g)
可以工作,但是我也得到了#。如果没有#?

你可以这样做:

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

while (result != null) {
    alert(result[1]);
    result = patt.exec(code);    
}
var result = myString.match(/#\w+/g);
for (var i = 0; i < result.length; i++){
    result[i] = result[i].slice(1);
}
表示组。然后,您可以访问这些组并查看它们包含的内容。有关更多信息,请参阅和

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

注意,我在这里使用ES5的
forEach
。您可以轻松地将其替换为for循环,因此它看起来如下所示:

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

while (result != null) {
    alert(result[1]);
    result = patt.exec(code);    
}
var result = myString.match(/#\w+/g);
for (var i = 0; i < result.length; i++){
    result[i] = result[i].slice(1);
}
var result=myString.match(/#\w+/g);
对于(变量i=0;i


谢谢,非常好用!我有点失望,你不能用match函数来做这件事。@Niels很高兴它能起作用。如果这解决了您的问题,请在左侧标记绿色的“非常好”标志;)是的,我在等待愚蠢的4分钟,我必须等待,然后才能接受你的回答。这是什么原因…@Niels也许它允许其他人提交可能比已经提供的答案更好的答案。